私はページに非表示のiframe要素を追加することで遊んでいますが、ロードされたこれらのDOMを操作したいと思います。iframeがまだ読み込まれていないため、ページにiframeを追加した直後にDOMの操作を開始できないことに気付きました。これは、イベントで実行できません。これはDOMContentLoaded
、ページに追加されるまでiframeに存在しないドキュメントに対して発生するため、load
イベントを使用する必要があります。
ここにいくつかのテストコードがあります:
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);
attachEvent
IEでテストしていません。
誰かがこれに光を当てましたか?