Javascript 如何';获得的文件的价值是多少?

Javascript 如何';获得的文件的价值是多少?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在编写一个扩展,它消除了请求头“Referer”的内容。问题是,即使发送HTTP请求时“Referer”值为空,但一旦加载新页面,document.Referer值就正确了。无论TTP请求和响应的“Referer”值是多少,document.Referer是否在内部获得 扩展和内容脚本的代码如下 chrome.webRequest.onBeforeSendHeaders.addListener( function(details){ if(details.frameI

我正在编写一个扩展,它消除了请求头“Referer”的内容。问题是,即使发送HTTP请求时“Referer”值为空,但一旦加载新页面,document.Referer值就正确了。无论TTP请求和响应的“Referer”值是多少,document.Referer是否在内部获得

扩展和内容脚本的代码如下

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details){
        if(details.frameId == 0){
            var referrer = '';

            // traverse the headervalues and delete 'Referer'
            for (var i = details.requestHeaders.length - 1; i >= 0; i--) {
                if (details.requestHeaders[i].name == 'Referer'){
                    // save the value in order to compare it in the content script
                    referrer = details.requestHeaders[i].value;
                    details.requestHeaders[i].value = '';
                };
            }

            chrome.tabs.sendMessage(details.tabId, { event : "onBeforeSendHeaders", referrer : referrer });
            return({ requestHeaders : details.requestHeaders});
        }
    },
   {urls: ["<all_urls>"]},
   ["blocking", "requestHeaders"]
);


chrome.webNavigation.onDOMContentLoaded.addListener(
    function onDOMContentLoaded(details){
        if(details.frameId == 0){
            chrome.tabs.sendMessage(details.tabId, { event : "onDOMContentLoaded" });
        }
    }
);

关于我做错了什么有什么建议吗?

它似乎是只读属性,请参见:或者我知道它是只读的。但它必须从某个地方得到它的价值。如果不是从HTTP头,从哪里?
chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse){
        switch(request.event){
            case "onBeforeSendHeaders" :
                console.log("onBeforeSendHeaders:" + request.referrer);
                break;          
            case "onDOMContentLoaded" :
                // this should be blank but instead, it has the same value 
                // of the request.referrer, which holds the value before being deleted
                console.log("onDOMContentLoaded:" + document.referrer);
                break;
            default : 
                console.log("default");
        }
    }
);