Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не получить данные из фрейма (https://javascript.ru/forum/dom-window/21139-ne-poluchit-dannye-iz-frejjma.html)

softrix 30.08.2011 13:26

Не получить данные из фрейма
 
Подскажите почему может не работать конструкция
$("iframe").contents().find("body").html();

Во всех броузерах все ок, а в Опере не пашет. В чем может быть проблема?

devote 30.08.2011 15:17

удивительно что вообще работает где-то ибо метод .contents() возвращает не прототип jQuery а чистый элемент

devote 30.08.2011 15:22

тебе надо делать так:
$($("iframe").contents()).find("body").html();

softrix 30.08.2011 16:28

Везде где я видел примеры именно в таком формате
$("iframe").contents().find("body").html();

Даже в NetBeans в справке по contents() именно такой формат примера.

Но в любом случае, и такой вариант
$($("iframe").contents()).find("body").html();

тоже не работает.
Опера пишет:
Uncaught exception: ReferenceError: Security error: attempted to read protected variable

devote 30.08.2011 16:33

вот вырезка кода jQuery-1.6.2 из этого участка:
contents: function( elem ) {
        return jQuery.nodeName( elem, "iframe" ) ?
            elem.contentDocument || elem.contentWindow.document :
            jQuery.makeArray( elem.childNodes );
    }

devote 30.08.2011 16:35

Цитата:

Сообщение от softrix
тоже не работает.
Опера пишет:
Uncaught exception: ReferenceError: Security error: attempted to read protected variable

Дык iframe данные хоть со своего домена получает? То-есть с того же где основной сайт? А то по ошибке такое впечатление что нет.

softrix 30.08.2011 16:46

Цитата:

Сообщение от devote (Сообщение 123537)
Дык iframe данные хоть со своего домена получает? То-есть с того же где основной сайт? А то по ошибке такое впечатление что нет.

Да, кончено все на одном сайте. Правда на сабдомене.

softrix 30.08.2011 16:49

Даже на такой код ошибка:
var c = $("iframe").contents();
for(prop in c){
    document.write(c[prop]+'<br />')
}

Вот полностью ошибка

Uncaught exception: ReferenceError: Security error: attempted to read protected variable: valueOf

Error thrown at line 591, column 4 in <anonymous function>(data) in http://site.net/Scripts/fs.js:
document.write(c[prop]+'<br />')
called from line 123, column 1033 in b() in http://ajax.googleapis.com/ajax/libs...jquery.min.js:
e.success&&
called via Function.prototype.call() from line 129, column 367 in <anonymous function: x.onreadystatechange>(q) in http://ajax.googleapis.com/ajax/libs...jquery.min.js:
j||b();

devote 30.08.2011 16:52

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

softrix 30.08.2011 18:46

Ok, буду копать сам. Скорее всего глюки в Опере. Спасибо за помощь


Часовой пояс GMT +3, время: 20:54.