Дракончик, после нескольких недель дурачения, я наконец все понял. Мне нужно было несколько функций:
$(document).ready(function() {
if (window.location.hash) { // if there is a hash
$.fancybox.open($('.fancybox'), {index : parseInt(location.hash.substring(1))});
}
});
Этот плохой парень проверяет хеш и открывает изображение, соответствующее указанному хешу, используя причудливую рамку ТОЛЬКО ПРИ ЗАГРУЗКЕ СТРАНИЦЫ.
function sethash(id)
{
top.document.location.hash = id;
}
Этот маленький парень вызван ссылками на каждое изображение в разметке галереи. Он устанавливает хэш страницы равным индексу любого изображения, на которое вы нажали.
<a onclick="sethash('$count')>Image</a>
Это не РЕАЛЬНЫЙ код, но вы поняли идею. У меня есть переменная count, которую я использую для индексации каждого изображения в галерее. Это число соответствует индексу изображения в слайд-шоу fancybox (т.е. оно начинается с 0 для первого изображения в галерее)
Это было много работы, но, наконец, она работает (почти) идеально. Последнее, что я собираюсь попробовать, это получить хэш для изменения / обновления, когда вы щелкаете по предыдущим / следующим стрелкам в fancybox. Но, честно говоря, если это не сработает, мне все равно.