Note that there are some explanatory texts on larger screens.

plurals
  1. POHow's the value of document.referrer obtained?
    primarykey
    data
    text
    <p>I'm writing an extension that eliminates the content of the request header "Referer" The problem is that even though the HTTP requests are sent with the "Referer" value empty, once the new page is loaded, the document.referrer value is correct. Is document.referrer obtained internally regardless of the "Referer" value ofHTTP requests and responses?</p> <p>Code of the extension and content scripts follows...</p> <pre><code>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 &gt;= 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: ["&lt;all_urls&gt;"]}, ["blocking", "requestHeaders"] ); chrome.webNavigation.onDOMContentLoaded.addListener( function onDOMContentLoaded(details){ if(details.frameId == 0){ chrome.tabs.sendMessage(details.tabId, { event : "onDOMContentLoaded" }); } } ); </code></pre> <p>and the content script</p> <pre><code>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"); } } ); </code></pre> <p>Any suggestions about what I'm doing wrong?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload