Необходимо выйти из iframe после того, как контент в iframe отправлен - PullRequest
12 голосов
/ 28 мая 2011

Хорошо, я использую iframe на странице. Содержимое внутри фрейма, которое я не контролирую, используется в программе Adobe Flash.

Но как только форма добавляется в iframe (опять же, которую я не могу контролировать), она загружает страницу, у меня есть контроль над ней, но эта страница внутри IFRAME вместо того, чтобы вырываться из iframe на эта страница Как мне выйти из iframe только на этой странице ??

Я предполагаю, что нужен какой-то Javascript, но этот код бесполезен:

if (top.location != self.location) {
top.location = self.location;
}

Использование этого кода загружает главную страницу индекса для сайта. Мне нужно просто загрузить страницу после отправки формы и выйти из нее. Опять же, у меня есть доступ к странице, которая загружается в iframe после отправки формы внутри iframe.

Пожалуйста, помогите мне.

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

Спасибо:)

Ответы [ 2 ]

11 голосов
/ 28 мая 2011

Я верю, что вы хотите это

if(this != top){
  top.location.href = this.location.href;
}

вырваться

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

if(this != top){
  top.document.location.href = this.document.location.href;
}
2 голосов
/ 30 сентября 2017

Что сработало для меня:

(function () {
    'use strict';
    console.log('window.top.location', window.top.location);
    console.log('window.location', window.location);

    if (window.location !== window.top.location) {
        window.top.location = window.location;
    }
})();

Вдохновлено https://css -tricks.com / snippets / javascript / break-out-iframe /

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