преобразовать документ iframe в родительский документ - PullRequest
0 голосов
/ 13 марта 2011

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

var el = document.createElement("iframe");
el.setAttribute('id', 'ifrm');
document.body.appendChild(el);
el.setAttribute('src', 'http://www.gmail.com');

, iframe исчезнет и займет место основного документа.Как я могу получить такое же поведение?

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

Вы ищете framekiller

0 голосов
/ 13 марта 2011

Даже если это возможно через некоторые сложные взломы javascript, я не знаю, было ли бы это желательно. Что произойдет, если пользователь нажмет кнопку «Назад», теперь вы попытаетесь вернуть все обратно в iframe и восстановить исходный документ?

Я думаю, чтобы придерживаться привычного для большинства людей способа и наиболее подходящего способа, лучше всего перенаправить родительское окно на URL-адрес src, к которому вы хотите перейти.

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

как насчет этого?

//From inside the iframe to set parent to gmail.com
window.top.location.assign('http://www.gmail.com')

//From inside the iframe to set parent to the current iframe location
window.top.location.assign(window.location.href)

//From the parent document to gmail.com
window.location.assign('http://www.gmail.com')

//From the parent document to the iframe location (if iframe is same domain)
window.location.assign(window.frames[0].location.href)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...