我正在尝试从chrome扩展程序的 webRequest api 获取完整的引荐来源。这就是我的功能。我需要找到details.initiator
的替代方法,因为它不够精确。
//Listner to the onBeforeRequest event from webRequests api
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
//Checks if details url contains pixel.domain.com substring
if (details.url.toLowerCase().indexOf('pixel.domain.com') > 0) {
//Checks if map already contains array for this initiator
if (pixels.get(details.initiator)) {
var urls = pixels.get(details.initiator);
if (!urls.includes(details.url)) {
pixels.set(details.initiator, [...urls, details.url]);
}
} else {
//Else sets new (key, value)
pixels.set(details.initiator, [details.url]);
}
}
},
{ urls: ['<all_urls>'] }
);
更新:它也可以替代webRequest api,因为我只需要一些东西即可跟踪浏览器发出的所有请求。正在考虑onRequest,但我不确定它是否不被弃用。
答案 0 :(得分:0)
我找到了解决方案。我使用onBeforeRequest
代替onBeforeSendHeaders
,在这里我可以访问请求标头