Работа с 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, время: 00:03. |