Я ' я играл с добавлением скрытых элементов iframe на страницу, и я хочу управлять DOM после загрузки. Я заметил, что не могу начать манипулировать DOM сразу после добавления iframe на страницу, поскольку он еще не загружен. Это невозможно сделать с помощью события DOMContentLoaded
, поскольку оно срабатывает для документа, которого нет в iframe, пока он не будет добавлен на страницу, поэтому мы должны использовать загрузку
].
Вот тестовый код:
var iframe = document.createElement('iframe');
iframe.onload = function() { console.log('loaded!'); };
document.getElementsByTagName('body')[0].appendChild(iframe);
Это работает, как ожидалось, однако, когда я меняю его на addEventListener
, он даже не добавляется в DOM:
var iframe = document.createElement('iframe');
iframe.addEventListener('load', function() { console.log('loaded!'); });
document.getElementsByTagName('body')[0].appendChild(iframe);
Я не знаю ' t протестировал attachEvent
в IE.
Кто-нибудь пролил свет на это?