Вылет из iframe с использованием мета-обновления или JavaScript? - PullRequest
3 голосов
/ 07 ноября 2008

У меня в основном есть страница, которая показывает экран "обработки", который был сброшен в браузер. Позже мне нужно перенаправить эту страницу, в настоящее время мы используем мета-обновление, и это обычно работает нормально.

С новой платежной системой, которая включает 3D-безопасность, мы можем оказаться в рамках iframe, перенаправленной на наш сайт от третьей стороны.

Мне нужно иметь возможность перенаправить с этой страницы, используя javascript или meta-refresh, и удалить из iframe, если он существует.

Ура!

(раньше я уже вырвался из iframes, но не могу найти свой старый код, и поиск в Google оказался бесполезным, подумал, что сейчас самое время попробовать Stackoverflow!)

Ответы [ 3 ]

4 голосов
/ 07 ноября 2008

Итак, я добавил следующее к своим перенаправленным страницам. К счастью, на них ничего не размещено, поэтому их можно просто перенаправить. Также можно использовать javascript, так как это необходимо для достижения этой цели на сайте.

<script type="text/javascript" language="javascript">
    if (top.frames.length>0)
    setTimeout("top.location = window.location;",100);
</script>
0 голосов
/ 05 июля 2012

, если вы используете JavaScript:

parent.document.location = "http://www.google.com"

и если вы используете HTML:

<a href="http://www.google.com" target=_top >Google</a>
0 голосов
/ 07 ноября 2008

Я делаю что-то похожее, чтобы сохранить старый сайт внутри фрейма:

<SCRIPT TYPE="text/JavaScript">
    if (window == top){top.location.replace("/foo.html");}
</SCRIPT>

Чтобы выйти из iframe, просто измените == на! =

Я вижу, что вы используете setTimeout в вашем примере. Требуется ли ожидание выхода из iframe или вы бы предпочли, чтобы это произошло немедленно?

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