Изменить URL-адрес в iframe, используя JavaScript - PullRequest
10 голосов
/ 12 августа 2011

У меня есть iframe, который вызывает функцию с родительской страницы. Функция window.location, однако это не меняет URL. Есть ли способ заставить iframe вызывать функцию с родительской страницы, которая заставит iframe изменить URL? У меня также был базовый вопрос, если у меня есть iframe, и я нажимаю на ссылку, которая приводит меня на новую страницу, остается ли родительская страница открытой?

Заранее спасибо за помощь. Извините, если я звучу как полный идиот, я новичок в javascript.

Dave

Ответы [ 3 ]

14 голосов
/ 12 августа 2011

window.location - это не функция, это объект .

Чтобы сделать то, что вы хотите, сначала заставьте iframe вызывать специальную функцию из своего родителя.

parent.sendMeToGoogle();

А в функции (в родительской) сделать что-то вроде:

function sendMeToGoogle(){
    document.getElementById('iframeID').src="http://google.com/";
}
3 голосов
/ 19 февраля 2014

Если вам действительно нужно изменить родительский URL, вы можете использовать window.top.location.href='http://anotherURL.com', даже если они находятся в разных доменах, со страницы iframe.

0 голосов
/ 13 августа 2011

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

Что касается вашего второго вопроса, iframe ведет себя как ebmedded страница: вы можете просматривать все, что вы хотите в iframe, не затрагивая родителя (за исключением, конечно, вызовов javascript, таких как тот, который вы хотите использовать), но просматривайте с родительскую страницу, и вы также потеряете iframe. Надеюсь, это было объяснение, которое вы искали:)

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