2

Я добавляю iframe на страницу с помощью javascripts document.write. Страница (из другого домена), которая вызывается внутри Iframe, выполняет немного настройки с использованиемОбъект IE9 внутри iframe не имеет addEventListener

window.addEventListener('load', function() { 
    //do stuff here 
} 

Работает в Chrome. Он работает в Firefox. Он работает в Opera.

В IE9 он не работает. Я получаю самое странное сообщение: «Объект не имеет свойства или метода« addEventListener ». Это, видимо, объект окна IE9 говорит о, потому что когда я

console.log(window) 

я получить

[object Window] 

, но когда я

console.log(window.addEventListener) 

Я получаю

undefined 

Когда я вызовите страницу напрямую, скрипт работает fin e, но в Iframe я получаю этот магический кастрированный объект окна, который не знает addEventListener (и, возможно, другие вещи тоже) ?! Что, черт возьми, здесь происходит?

ответ

3

После долгих проб и ошибок выяснилось, что страница, создавшая мой IFrame, сломала HTML (без Doctype, без тега заголовка) и, таким образом, принудительно включила IE9 в режим Quirks, что, по-видимому, означает уменьшенные способности. После очистки страницы загрузки она работает нормально.

Смежные вопросы