почему $ (window ['iframeName']. document.body) .html () не работает, когда я меняю .attr ('src') - PullRequest
1 голос
/ 27 августа 2010

Почему

$(window['iframeName'].document.body).html()

... не работает, когда я изменяю .attr('src')

Когда я устанавливаю атрибут src iframe для любого URL при создании страницы, этокод

$(window['iframeName'].document.body).html() 

... будет работать.

Но когда я изменяю атрибут src на .attr('src',"www.google.com.sa") и жду загрузки страницы,

$(window['iframeName'].document.body).html() 

... не будет работать.

В чем проблема?

Ответы [ 3 ]

1 голос
/ 27 августа 2010

попробовать:

.attr('src',"http://www.google.com.sa")
0 голосов
/ 27 августа 2010

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

0 голосов
/ 27 августа 2010

Пара вещей:

Во-первых, установка attr ('src') создаст новый элемент истории. Вы должны подумать, действительно ли вы хотите это сделать, например, если кто-то может нажать кнопку «Назад» и получить последнюю страницу. Если вы не хотите, чтобы измененное состояние в истории (желательно для рекламы или приложений, которые используют iframes вместо прямого ajaex), вы можете вместо этого изменить местоположение документа.

Во-вторых, мне гораздо проще взаимодействовать со страницей, например:

$("#frameID").contents().find("jquery selector");

Вы можете получить полный HTML-код, используя этот вызов:

$("#frameID").contents(document).children().html()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...