Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   IE8, windows 2008 server. Не срабатывает onload у iframe (https://javascript.ru/forum/events/4902-ie8-windows-2008-server-ne-srabatyvaet-onload-u-iframe.html)

bdiang 28.08.2009 15:46

IE8, windows 2008 server. Не срабатывает onload у iframe
 
Господа, никак не могу заставить сработать onload у iframe в IE8 под windows 2008 server. Причем в ХР все нормально отрабатывает.

Код:

var iCont = document.createElement( 'div' );

iCont.innerHTML = '<iframe onload="this._onload();" scrolling="no" id="'+iframeID+'" name="'+iframeID+'" style=""></iframe>';

iframe = document.body.appendChild( iCont.firstChild );

iframe._onload = function() {
alert(1);
}

Если кто сталкивался с подобным, есть дельные советы?

Заранее спасибо :)

Андрей Параничев 28.08.2009 15:55

Добавьте iframe атрибут src. Можно и пустой, например: src="javascript:''".

alexKniaz 28.08.2009 16:13

В ие (даже 8) такое назначение событий не работет.
По гуглите чёто-типа "динамическое назначение обработчиков событий в ie". Но elem.setParameter (как-то так) у меня не работал. Проще вложить ифрейм в див и менять innerHTML дива чем возиться с этим

bdiang 29.08.2009 08:51

Цитата:

Добавьте iframe атрибут src. Можно и пустой, например: src="javascript:''".
До этого был src="about:blank", но IE8 выводил сообщение о блокировке контента в iframe по адресу about:blank, и предлагал добавить этот урл в трастед сайтс :lol: Попробую поиграться с src

Цитата:

В ие (даже 8) такое назначение событий не работет
Дак как же не работает. В ХР мой код отлично отрабатывает в 8м ослике. А вот в 2008 сервер, не дает. Есть подозрения, что это связано с политикой безопасности, но вот где рыть непонятно.

Как вариант рассматриваю обрабатывать onload относительно документа внутри iframe. Но это крайний вариант.

alexKniaz 29.08.2009 15:19

У меня в семёрке не работало назначение событий в ie
через
elem.onсобыттие=function(){
....
}


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