Кнопка возврата JavaScript для родительского окна iframe - PullRequest
1 голос
/ 08 июня 2010

У меня есть несколько страниц с вложенными фреймами. Я хочу добавить ссылку / кнопку внутри iframe, чтобы браузер вернулся на одну страницу в истории. Но я хочу, чтобы РОДИТЕЛЬ вернулся, а не сам фрейм.

У меня изначально было это, что заставляет страницу iframe вернуться (если она существует):

<a href="javascript:history.back()">&laquo; Go back</a>

Я пробовал window.parent.history.back() и window.parent.document.history.back(), но ни один не работает. Нет междоменных проблем с доступом к iframe из родительского и наоборот.

Ответы [ 2 ]

4 голосов
/ 08 июня 2010

Я немного поигрался, чтобы попытаться ответить на этот вопрос - по крайней мере, в IE8.

Навигация внутри iframe влияет на историю родителей. Я проверил это, добавив код на родительской странице и на связанных дочерних страницах, которые используют оповещение, чтобы показать значение history.length. Переход к новому окну внутри iframe приводит к увеличению значения history.length на родительской странице и на дочерней странице.

Единственный способ, которым я могу управлять поведением спины по вашему желанию, - это использовать history.go (XXX), где XXX - это жестко запрограммированное число или определяется путем отслеживания количества загрузок страниц с момента их загрузки. фрейм.

Моим личным предложением было бы изучить альтернативу iframe, если вы можете - этот подход немного пахнет кодом. :)

0 голосов
/ 03 января 2012

Вы можете использовать это:

    <a href="javascript:self.history.back()">back</a>

    or:

    <a href="javascript:self.history.go(-1)">back</a>

Это работа для меня!

;)

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