динамически изменять нагрузку для iframe - PullRequest
3 голосов
/ 20 июля 2011

У меня есть страница, содержащая пару <iframe> тегов. Я хочу динамически изменять их действия при загрузке. У меня есть следующий код, который отлично работает в FF, Safari, Chrome, Opera, но IE (8) отказывается соответствовать.

document.getElementById('myiframe').onload = function() {
    return function() { file_onLoad(data); }
}();

Я использовал нечто подобное для установки onchange элемента <input>, и это хорошо работает во всех протестированных мной браузерах, включая IE.

document.getElementById('myinput').onchange = function() {
    return function() { file_onChange(data); }
}();

Так что я думаю, это как-то связано с тем, как я получаю элемент / объект кадра.

Я также пытался frames['myiframe'], но безуспешно.

Спасибо за вашу помощь!

1 Ответ

5 голосов
/ 20 июля 2011

На моем работает нормально ...
Я попробовал:

function whatever(){
    document.getElementById('myiframe').src="http://www.google.com/"
    document.getElementById('myiframe').onload = function() {
        return function() { alert("Done."); }
    }();
}

и это работает. (Я пробовал на IE9 с включенным режимом IE8)
Если это не работает для вас, попробуйте это:

document.getElementById('myiframe').addEventListener('load', file_onLoad, false); 
...