我希望我的扩展能更改某些网页的document.referrer
,但搜索它会导致有关如何更改HTTP请求标头中的Referrer
的文档。
有没有办法使用扩展来更改document.referrer
,最好是在加载网页的javascript之前?
目前,我刷新了我希望用window.location.replace(window.location.href)
更改document.referrer
的页面,但这会产生明显的闪烁,并且只能将引用者更改为当前页面。
override.js:
Object.defineProperty(Document.prototype, 'referrer', {
get() {
return 'foo';
},
});
这应该放在document_start
的页面上下文中,有几种方法。
对于ManifestV3,最可靠的方法是registerContentScripts:example。在matches
中指定正确的模式,如果站点使用帧,则可以选择添加allFrames: true; matchOriginAsFallback: true
。
请注意,由于Chrome中的一个错误,网站可以提取原始getter并在主文档上调用它来获得真正的引用人。报告中提到了解决方法,但这些方法并不简单。