. Функция, приведенная ниже, предназначена для захвата/обработки HTML либо селектора jQuery, либо URL-адреса. Если URL-адрес передан, он генерирует iframe и после загрузки iframe захватывает HTML-код iframe. (. Примечание: Я не использую внешние URL-адреса, только другие страницы на том же сайте)Получение содержимого iframe вызывает TypeError: «undefined» не является объектом
Функция бросает TypeError: 'undefined' is not an object (evaluating 'myHTML.find')
всякий раз, когда я прохожу в URL. Я не понимаю, почему. Здесь что-то выделяется?
1 mynamespace.html: function (source) {
2 // Grabs and processes the HTML of a jQuery selector or URL.
3
4 var myHTML;
5
6 if ($(source).is('iframe')) {
7 // if it's an iframe, use .contents()
8 myHTML = $(source).contents().find('html').clone();
9
10 } else if (source.indexOf('http://') === 0) {
11 // if it's a URL, load an iframe
12 $(document.body).append('<iframe id="printiframe" src="'+source+'"></iframe>');
13 $('#printiframe').load(function() {
14 // once loaded, send it back into this function,
15 // where it can then be processed as an iframe
16 return mynamespace.html ('#printiframe');
17 });
18
19 } else {
20 myHTML = $(source).clone();
21 }
22
23 // Do stuff to the HTML here, such as myHTML.find('bla')...
24
25 return myHTML.html();
26 }
ли ваша страница и IFrame сидеть тот же домен? – Hadas
Да, iframe src и все остальное находятся в моем единственном домене. – supertrue
Надеюсь, вы не возражаете против редактирования, но я помещаю номера строк, чтобы ответы могли легко ссылаться на части вашего кода. – nnnnnn