如何从Chrome扩展程序webRequest API获取引荐来源?

时间:2018-08-08 12:20:46

标签: javascript google-chrome google-chrome-extension chrome-webrequest

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我使用onBeforeRequest代替onBeforeSendHeaders,在这里我可以访问请求标头