Работа с IFRAME
Имеются два файла:
первый - index.html второй - file.html В первом файле создается IFRAME: <iframe name="send" src="scripts/file.html" id="frame"></iframe> А во втором: функция ab: function ab() { alert(1); } Затем в первом файле пишется такая функция: setTimeOut(function() { var frame = document.getElementById('frame'); frame.ab(); }, 3000) Вопрос: почему не выводится модальное окно с надписью 1? |
потому что вы зачем-то получаете ссылку на элемент ифрейма, а затем(не используя полученную ссылку) вызываете метод ab(), у несуществующего элемента window.send
|
Извините, исправил код. Так тоже не работает.
|
setTimeOut(function() { var i_frame = window.send; i_frame.ab(); }, 3000) Этот код работает 100% в FF 3.6 Если функция ab в файле file.html описана правильно, то все будет работать. |
я бы предпочел следующий вариант, потому что использовать автоматически создаваемые глобальные переменные не лучшая привычка
setTimeout(function() { var iframe = document.getElementById('frame'); var w = iframe.contentWindow || iframe.contentDocument.window; w.ab(); }, 3000); |
Часовой пояс GMT +3, время: 02:22. |