如何从chrome扩展webRequest api获得referer?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从chrome扩展webRequest api获得referer?相关的知识,希望对你有一定的参考价值。

我正试图从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,但我不确定它是否不被弃用。

答案

我找到了解决方案。相反onBeforeRequest,我使用onBeforeSendHeaders,我可以访问请求标头

以上是关于如何从chrome扩展webRequest api获得referer?的主要内容,如果未能解决你的问题,请参考以下文章

Chrome WebRequest API:如何阻止“设置Cookie”?

webRequest

Chrome扩展程序后台脚本如何与网页服务工作者进行通信?

Chrome扩展程序:如何拦截Cookie?

chrome扩展开发,怎么获取响应信息?

Chrome扩展程序的chrome对象属性未定义