Как вернуть кнопку назад для работы с якорями (#) и фреймами - PullRequest
1 голос
/ 10 марта 2010

Я работаю над сайтом, основной частью которого является навигационная система в стиле ajax, использующая якоря в URL для определения состояния приложения.

Кроме того, теперь мне нужно поддерживать IFrames, которые загружаются поверх этого приложения. Проблема в том, что кнопка «Назад» ломается, если я использую фрагменты.

Я создал очень простой образец , который не использует ни одну из библиотек ajax. Все, что у него есть, это ссылка, которая добавляет якорь к URL-адресу и iframe с некоторыми обычными ссылками.

Если я сначала щелкну ссылку якоря, а затем щелкну ссылку в iframe, я ожидаю, что при первом обратном щелчке вернется к исходной странице iframe, а второй щелкнет, чтобы удалить привязку из URL.

Я знаю обо всех различных решениях ( YUI , действительно простая история , плагин jquery ), и все они прекрасно работают, но они не t обслуживает фреймы.

Я также знаю, что мог бы добавить немного JS к рамочным страницам и, возможно, направить всю навигацию по родительской странице, но я надеюсь, что в этом нет необходимости.

Итак, вопрос в том, может ли кто-нибудь объяснить, что происходит внутри объекта истории в этом образце ? Во-вторых, могу ли я что-либо сделать из родительского iframe, чтобы уговорить объект истории взять эти элементы навигации?

Примечание. В данном примере я задаю вопрос только о FF / Safari / Chrome. IE нужно смотреть отдельно.

...