Chrome: получение iFrame и вставка в тело - PullRequest
3 голосов
/ 15 февраля 2011

У меня есть следующий код, который отлично работает в Firefox ...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.contentWindow.document; // get iframe doc

и версия Chrome ...

if (!iFrame) iFrame = outerDoc.getElementById('_dialog_iframe');
var iFrameDoc = iFrame.document; // get iframe doc

Я тестирую код, получающий iFrameDoc.body, когда я запускаю код FireFox в Firefox, он работает нормально Однако код Chrome возвращает undefined. Зачем? Как это исправить, чтобы в Chrome все работало нормально?

1 Ответ

11 голосов
/ 15 февраля 2011

Если элемент iframe имеет свойство document в Chrome, то я удивлен, и это нестандартно и не поддерживается в других браузерах.Стандартным свойством является contentDocument, а для поддержки других браузеров вы можете использовать contentWindow.document.Следующее будет работать во всех основных браузерах:

var iFrameDoc = iFrame.contentDocument || iFrame.contentWindow.document;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...