我正在制作一个小型 google chrome 扩展程序,它正在监视页面正在进行的所有调用。这个想法是记录页面的行为方式以及进行了多少外部调用。除了我需要获取发起呼叫的页面的源 URL 的部分之外,一切正常。
例如,我在浏览器中访问 www.stackoverflow.com,然后我的 onbeforerequest 列表器启动并给我所有的调用。到目前为止,一切都很好。但我仍然想要进行调用的页面的名称,在这种情况下我想要:“www.stackoverflow.com”和调用的所有者。
我尝试从选项卡中获取它,但 chrome.tabs.get 使用回调,并且在它全部结束之前没有调用它,我处理了所有调用。
关于如何获取源网址的任何想法?
编辑 我现在使用此代码获取 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);
}
});