ページが行っているすべての呼び出しを監視している小さな Google Chrome 拡張機能を作成しています。アイデアは、ページの動作と外部呼び出しの数をログに記録することです。呼び出しを開始するページのソース URL を取得する必要がある部分を除いて、すべてが機能しています。
たとえば、ブラウザで www.stackoverflow.com にアクセスすると、onbeforerequest リスターが開始され、すべての呼び出しが行われます。ここまでは順調ですね。しかし、私はまだ呼び出しを行っているページの名前が必要です。この場合、「www.stackoverflow.com」と呼び出しの所有者が必要です。
タブから取得しようとしましたが、 chrome.tabs.get はコールバックを使用しており、それがすべて終了する前に呼び出されず、すべての呼び出しが処理されました。
ソース URL を取得する方法についてのアイデアはありますか?
URL を取得するために今このコードを使用していますが、「未定義」を返し続けます:
var contentString = "";
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
var tabid = details.tabId;
var sourceurl = "N/A";
if (tabid >= 0) {
chrome.tabs.get(parseInt(tabid), function (tab) {
sourceurl = tab.url;
alert(sourceurl);
});
}
});
アラートを実行すると、リクエストごとに未定義になります
編集2 - これは私のために働いています
chrome.tabs.get(parseInt(tabid), function (tab) {
if (tab != undefined) {
alert(tab.url);
}
});