2008-07-10

AJAX, History and Backward Key

Я всегда считал, что AJAX и Browser History - вещи несовместимые. Т.е. пользоваться Backward/Forward в AJAX нельзя. Однако недавно с удивлением увидел, что в Gmail это как-то работает. Я нашёл несколько ссылок, самая лучшая - здесь. Короче, идея в том, что можно использовать document.location.hash - эта часть ссылки, которая после знака "#" не вызывает перезагрузки страницы, и, в принципе, может добавляться в browser history. Полный сценарий работает в FireFox, хотя привязка к Backward требует небольшого извращения. Но в остальных браузерах сценарий требует какого то совсем отвязного хакерства. А простая штука, в принципе. Я попробовал вставить простой код себе в галерею, но пока не в основную ссылку. В FF всё стало лучше и быстрее. Переходы между режимами быстрые, почти мгновенные. Backward and Forward работают по полной программе. В IE всё стало хуже, поскольку вся галерея стала одной позицией в истории. В Опере не проверял за неимением оной. У меня везде стоит FF, чего и вам желаю.

1 comment:

SKuznetsov said...

В Опере прохождение по галерее Уровень0 -(клик на картинку)- Уровень1 -(клик на картинку)- Уровень2а -(клик на другую картинку)- Уровень2б -(клик назад)-(пауза 25 сек)- Уровень2а -(клик назад)-(пауза 25 сек)- Уровень1 -(клик назад)-(ничего не происходит)-(клик назад)- Выход из галереи с пропуском Уровеня0.