人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Mozilla xul オブジェクトの iframe についての質問です。(※htmlオブジェクトのiframeではない※)
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を保持しています。

●質問者: norisuke3
●カテゴリ:ウェブ制作
✍キーワード:firefox HTML JavaScript Mozilla test
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● mulloo
●0ポイント

http://firefox.geckodev.org/index.php?plugin=attach&refer=%E9%96...

◎質問者からの返答

こういう的を得ないな回答にはポイントはあげられません。不適切な回答として処理します。


2 ● lang_and_engine
●70ポイント

こんにちは。


簡単にではありますが,回答のためにエントリーを書きました。

参考になさってください。

Firefoxのサイドバーを作ろう (XUL形式のアドオンでbrowser要素を設定する方法)

http://d.hatena.ne.jp/language_and_engineering/20081203/12282623...


onload="?"は動きませんでした。


かわりに,JavaScriptから

  1. onloadイベントをadd
  2. DOM操作で表示内容を切り替え

という手順を踏めば,onloadイベントが発生してくれました。


これならiframeの内容は自動で表示されるので,動作上は <iframe src="?" と書くのと変りないと思います。

◎質問者からの返答

わざわざブロッグエントリーまで書いていただいてありがとうございます。問題なく動くようになりました。

ブログ中の、「iframeでは div タグがうまく表示されないのでbrowserタグを使いましょう」という流れで気になった点が有ります。

ブロッグ中のサンプルによると、divタグを表示できていないのは、xulのiframeではなくて、htmlのiframeのようですね。なので、browserタグの方でも同じ構造で、browserの中にhtmlのiframeを表示して、その中にyahooを読み込むと、同じ問題が発生するかもしれないなと思いました。(確認はしていません。)

いずれにせよ、本当にありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ