MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

ページ内でAjaxの通信が起こった際、イベントをフックする方法は?
https://forums.mozillazine.jp/viewtopic.php?f=26&t=11780
ページ 11

作成者:  ぽこにゃん [ 2011年7月08日(金) 18:23 ]
記事の件名:  ページ内でAjaxの通信が起こった際、イベントをフックする方法は?

ページ内でAjaxの通信が起こった際、
機能を実行するアドオンを作りたいのですが、
どのように関数を登録するのでしょうか?

:o

作成者:  mitsugu [ 2011年7月08日(金) 20:57 ]
記事の件名:  Re: ページ内でAjaxの通信が起こった際、イベントをフックする方法は?

 先ほどはすごい勘違いをしてしまってすみませんでした。勘違いのコメントは申し訳有りませんが削除しました。
 それで本題の load イベントに割り込む方法ですが、XMLHttpRequest Level 2 の onloadstart は使えないでしょうか。
 XMLHttpRequest オブジェクト内に onloadstart オブジェクト自体は存在すること、loadstart イベントが発火すること、loadstart イベントをハンドリングできることを確認しました。
 loadstart イベントが使いものになるかどうか、確認していただけますか。

 XMLHttpRequest Level 2 のドキュメントは W3C のサイトにあります。

作成者:  ぽこにゃん [ 2011年7月11日(月) 13:35 ]
記事の件名:  Re: ページ内でAjaxの通信が起こった際、イベントをフックする方法は?

コード:
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService (Components.interfaces.nsIObserverService);
   observerService.addObserver ({
         observe: myFunc
      },
      'http-on-examine-response',
      false);

:D

このような形で実装できました。
ありがとうございます。

作成者:  ぽこにゃん [ 2011年7月11日(月) 13:37 ]
記事の件名:  Re: ページ内でAjaxの通信が起こった際、イベントをフックする方法は?

コード:
var observerService = Components.classes["@mozilla.org/observer-service;1"].getService (Components.interfaces.nsIObserverService);
   observerService.addObserver ({
         observe: myFunc
      },
      'http-on-examine-response',
      false);

:D

このような形で実装できました。
ありがとうございます。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/