2010-11-24 1 views
0

фонаопроса против скрытого плавающего фрейма для истории Ajax

Обнаружения изменения хэша в URL и фиксации кнопки вперед/назад два требования к библиотекам, которые имеют дело с историей Ajax. Для реализации этих библиотек есть две школы. Вы можете периодически проверять поляриста URL (у плохих браузеров нет события onHashChange). Или вы можете использовать скрытый iFrame, чтобы добавить точки в историю вашего браузера. Можно подумать, что скрытый iFrame лучше, чем опрос, но скрытый iFrame не обновляет URL внешнего браузера. Поэтому, если пользователь хочет поделиться своим текущим состоянием в веб-приложении, она всегда будет делиться своим начальным состоянием.

Вопрос

Есть ли метод истории Ajax, что и не требует опроса, а также обновляет URL главного браузера?

+0

Какая проблема разрешает опрос? Вы пытаетесь решить случай, когда пользователь вручную добавляет хеш-идентификатор на текущий URL-адрес? Как часто это произойдет? – 2010-11-24 00:24:35

+0

Вот пример: пользователь нажимает кнопку. Обработчик onClick обновляет значения хэша. Пользователь нажимает кнопку «Назад». Теперь значения хэша были возвращены. IE6/7 не имеет onHashChange, поэтому вам нужно опросить window.location для изменений, когда пользователь нажимает вперед/назад. – JoJo 2010-11-24 04:21:52

ответ

0

Как насчет сочетания двух методов? изменить URL-адрес, а также использовать iframe. игнорировать hashChanged (на хороших браузерах) и просто проанализировать хэш-код на dom: ready

-1

Ознакомившись с вашими комментариями по исходному вопросу, я бы рекомендовал использовать метод iframes для IE и опрос для других браузеров.

Отъезд Real Simple History, если вы ищете библиотеку, которая обрабатывает это специально, и вы хотите создать основу, чтобы помочь вам свернуть.

Если вы ищете функциональность сохранения состояния вашей страницы в пользовательском интерфейсе Ajax, dojo поддерживает это с помощью прокладки dojo.hash(). Этот метод создает событие onhashchange для браузеров, которые его не поддерживают, и управляет состоянием вашей кнопки «Назад». Он использует сочетание опроса и iframe в зависимости от браузера (iFrames используются специально в версиях IE < 8).

 Смежные вопросы

  • Нет связанных вопросов^_^