Read it later.

Web製作に関するサーバ構成やコーディングネタの備忘録として使ってます。

*

[Firefox Addon] リモートページの取得

   

非同期の場合はこんな感じ

var req1 = new XMLHttpRequest();
req1.open('GET', 'http://hogehoge.com/hogehoge.html', true);
// リクエストヘッダの加工の仕方はこんな感じ。
req.setRequestHeader("X-Foo", "Bar");
req1.onreadystatechange = function (aEvt) {
    if(req1.readyState == 4 && req1.status == 200){
      // レスポンスを無事取得できた場合の処理をここに記述する。
    }
  };

req1.send(null);

同期の場合はこんな感じ

var req = new XMLHttpRequest();
req.onprogress = onProgress;
req.onload = onLoad;
req.onerror = onError;
req.open("GET", url, true);
req.send(null);

なお、XPCOM コンポーネントから使用する場合はこんな感じでするらしい。

var request = Components.
              classes["@mozilla.org/xmlextras/xmlhttprequest;1"].
              createInstance();

// オブジェクトに nsIDOMEventTarget インタフェースを照会し、それにイベントハンドラをセット

request.QueryInterface(Components.interfaces.nsIDOMEventTarget);
request.addEventListener("progress", function(evt) { ... }, false);
request.addEventListener("load", function(evt) { ... }, false);
request.addEventListener("error", function(evt) { ... }, false);

// nsIXMLHttpRequest を照会し、開き、リクエストを送信

request.QueryInterface(Components.interfaces.nsIXMLHttpRequest);
request.open("GET", "http://www.example.com/", true);
request.send(null);

 - Firefox / Addon 開発, JavaScript

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

javascript
[JavaScipt]lengthプロパティの罠

この時の、sample.lengthって当然「2」が入ってるだろうなって思ったら …

firefox
[Firefox Addon]デバッグメッセージを出力する

Firefoxのエラーコンソール(Ctrl+Shift+J)画面に、デバッグメッ …

firefox
[Firefox Addon] 乱数、シャッフル

どうかなって一瞬思ったけど、なるほど。 Math.random()を使ったサンプ …

firefox
[Firefox]応答のないスクリプト警告 – このページのスクリプトは処理に時間がかかっているか応答しなくなっています

このページのスクリプトは処理に時間がかかっているか応答しなくなっています。 セキ …

javascript
[JavaScript]URLエンコードとURLデコード

JavaScriptで、URLエンコードとURLデコードを扱う場合、下記のメソッ …