我如何从 chrome extension webRequest api 获取 referer?
How do i get referer from chrome extension webRequest api?
我正在尝试从 chrome 扩展的 webRequest api 中获取完整的 referer。这就是我的函数的样子。我需要找到 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,但我不确定它是否已被弃用。
我找到了解决办法。相反 onBeforeRequest
,我使用 onBeforeSendHeaders
,在那里我可以访问请求 headers
我正在尝试从 chrome 扩展的 webRequest api 中获取完整的 referer。这就是我的函数的样子。我需要找到 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,但我不确定它是否已被弃用。
我找到了解决办法。相反 onBeforeRequest
,我使用 onBeforeSendHeaders
,在那里我可以访问请求 headers