Firefox Addon SDKを使用して、HTTPトラフィックを監視してブラウザに表示するものを作成しています。 HTTPFoxまたはLive HTTP Headersに似ています。ブラウザのどのタブ(あれば)がリクエストを生成したかを確認することに興味がありますFirefox Addon SDKでリクエストされたタブを特定します
observer-serviceを使用しています。「http-on-examine-response」イベントを監視しています。ほとんどdocumentation for how to identify the browser that generated the requestからcribbed
const observer = require("observer-service"),
{Ci} = require("chrome");
function getTabFromChannel(channel) {
try {
var noteCB= channel.notificationCallbacks ? channel.notificationCallbacks : channel.loadGroup.notificationCallbacks;
if (!noteCB) { return null; }
var domWin = noteCB.getInterface(Ci.nsIDOMWindow);
return domWin.top;
} catch (e) {
dump(e + "\n");
return null;
}
}
function logHTTPTraffic(sub, data) {
sub.QueryInterface(Ci.nsIHttpChannel);
var ab = getTabFromChannel(sub);
console.log(tab);
}
observer.add("http-on-examine-response", logHTTPTraffic);
:私は要求を生成しnsIDomWindowを識別するために、次のようなコードを持っています。いくつかはFirefoxアドオンGoogle PageSpeedからも取得されています。
モジュールのnsIDOMWindowオブジェクトdomWin
のタブ要素に移動することをお勧めしますか?
私は、domWinのURLと一致するURLを持つタブリストをスキャンするような何かのハッキリを考えましたが、同じURLを持つ複数のタブについて心配する必要があります。
素晴らしい作品です!ソースとドキュメンテーションに注目する必要があると思います。 – Rob