iframeで読み込みが完了した際のイベントを捕捉したいのですが、うまくいきません。
xulの定義に、<iframe src="http://..." onload="alert('test')"/> と記述しても、alertが表示されませんし、javascript内で、イベントハンドラを以下のように追加してもうまく行きませんでした。
var iframe=document.getElementById("test");
iframe.addEventListener('load',
function(){
alert('test');
}, true)
xul の iframe では、何か特殊な方法がありますか?
ちなみに、そのiframeはfirefoxのサイドバー内に表示されており、上記のjavascript内の、documentは、サイドバーのcontentDocumentを保持しています。
こんにちは。
簡単にではありますが,回答のためにエントリーを書きました。
参考になさってください。
Firefoxのサイドバーを作ろう (XUL形式のアドオンでbrowser要素を設定する方法)
http://d.hatena.ne.jp/language_and_engineering/20081203/12282623...
onload="~"は動きませんでした。
かわりに,JavaScriptから
という手順を踏めば,onloadイベントが発生してくれました。
これならiframeの内容は自動で表示されるので,動作上は <iframe src="~" と書くのと変りないと思います。
わざわざブロッグエントリーまで書いていただいてありがとうございます。問題なく動くようになりました。
ブログ中の、「iframeでは div タグがうまく表示されないのでbrowserタグを使いましょう」という流れで気になった点が有ります。
ブロッグ中のサンプルによると、divタグを表示できていないのは、xulのiframeではなくて、htmlのiframeのようですね。なので、browserタグの方でも同じ構造で、browserの中にhtmlのiframeを表示して、その中にyahooを読み込むと、同じ問題が発生するかもしれないなと思いました。(確認はしていません。)
いずれにせよ、本当にありがとうございました。
こういう的を得ないな回答にはポイントはあげられません。不適切な回答として処理します。