可以't添加Chrome扩展的响应标头

Can't add Response Header with Chrome extension

本文关键字:扩展 响应 Chrome 添加 可以      更新时间:2024-02-10

我有一个Chrome扩展,我正试图让它为所有页面添加一个响应标头。

这是我的清单:

"permissions": [
  "storage",
  "clipboardRead",
  "clipboardWrite",
  "webRequest",
  "webRequestBlocking",
  "background"
],
"background": {
  "scripts": ["background-script.js"]
},

这是我的后台脚本.js 中的内容

chrome.webRequest.onHeadersReceived.addListener(function(details){
    console.log('headers received');
    details.responseHeaders.push({ name: 'X-XSS-Protection', value: '0' });
    return { responseHeaders: details.responseHeaders };
}, {
    urls: ['<all_urls>'],
    types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"]
}, ['blocking', 'responseHeaders']);

我知道后台脚本的执行,将console.log放在该文件中,但放在事件侦听器之外,并从Extensions窗口的"Inspect views:background page"中观察它。

然而,我不认为eventListener会执行——我在任何地方都没有看到"headers received"消息。

您在清单文件中声明了大量不必要的权限,但不是最重要的权限:主机权限。例如,如果您想拦截每个http请求,请将"*://*/*"匹配模式添加到manifest.json:的权限部分

"permissions": [
  "webRequest",
  "webRequestBlocking",
  "*://*/*"
],