Как сохранить местоположение iframe даже при перезагрузке верхней страницы - PullRequest
1 голос
/ 16 апреля 2009

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

Пример:

  • пользователь загружает http://myserver/main.page?target="sub.page" в своем браузере
  • мой код Javascript устанавливает источник iframe на «sub.page»
  • пользователь щелкает ссылку в пределах iframe , и источником iframe становится "othersub.page"
  • пользователь щелкает ссылку в окне верхнего уровня вне iframe, которая ссылается на http://myserver/main.page
  • Javascript каким-то образом автоматически обновляет исходный код iframe до «othersub.page»

Я могу отработать всю логику, необходимую для выполнения действий по обновлению iframe и передачи переменных. Моя проблема в том, как отследить значение src в iframe.

Мне нужен способ обнаружить, что src iframe изменился. Единственное, о чем я могу думать, это «опросить» значение. Мне было бы интересно узнать, есть ли у кого идея получше.

Ответы [ 2 ]

1 голос
/ 16 апреля 2009

Вы также можете добавить обработчик события load в этот фрейм. Каждый раз, когда происходит это событие, вы сохраняете местоположение оформленных документов в файле cookie.

IIRC: при изменении содержимого iframe атрибут SRC не изменяется. ИМО, вы должны прочитать местоположение документа.

0 голосов
/ 01 июня 2009

Событие load сообщит вам, когда в iframe загружена новая страница, но, как вы говорите, у вас не будет разрешения на чтение свойства src.

Если содержимое iframe может загрузить другой iframe, который загружает страницу из того же домена, что и корневая страница, то эта внутренняя страница может вызывать javascript на корневой странице (так как они находятся в одном домене) и передавать дальше информация, как строка src, которую вы хотели. Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...