Я работаю над сайтом, основная часть которого управляется системой навигации в стиле ajax, использующей якоря в URL-адресе для определения состояния приложения.
Вдобавок ко всему теперь мне нужно поддерживать IFrames, которые загружаются поверх этого приложения. Проблема, с которой я столкнулся, заключается в том, что кнопка «Назад» ломается, если я использую фрагменты.
Я создал очень простой образец, в котором не используется какой-либо ajax библиотеки. Все, что у него есть, - это ссылка, которая добавляет привязку к URL-адресу, и iframe с некоторыми обычными ссылками в нем.
Если я сначала щелкну ссылку привязки, а затем щелкну ссылку в iframe, я бы ожидал, что первый щелчок назад вернет исходную страницу iframe, а второй щелчок - удалить привязку из URL-адреса.
Мне известны все существующие решения (YUI, действительноsimplehistory, плагин jquery), и все они отлично работают, но не поддерживают iframe.
Я также знаю, что могу добавить JS на страницы с фреймами и, возможно, направить всю навигацию через родительскую страницу, но я надеюсь, что в этом нет необходимости.
Итак, вопрос в том, может ли кто-нибудь объяснить, что происходит внутри объекта истории в этом образце? Во-вторых, могу ли я что-нибудь сделать с родительским iframe, чтобы уговорить объект истории получить эти навигационные записи?
Примечание. В этом примере я интересуюсь только FF / Safari / Chrome. IE нужно рассматривать отдельно.