无法添加扩展名为 Chrome 的响应 Header
Can't add Response Header with Chrome extension
我有一个 Chrome 扩展程序,我正在尝试让它向所有页面添加响应 Header。
这是清单中的内容:
"permissions": [
"storage",
"clipboardRead",
"clipboardWrite",
"webRequest",
"webRequestBlocking",
"background"
],
"background": {
"scripts": ["background-script.js"]
},
这是我 background-script.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,并从扩展 window 中的 "Inspect views: background page" 观察它。
但是,我认为 eventListener 不会执行 - 我在任何地方都没有看到 "headers received" 消息。
您在清单文件中声明了大量不必要的权限,但不是最重要的:主机权限。例如,如果您想拦截每个 http(s) 请求,请将 "*://*/*"
match pattern 添加到 manifest.json
:
的权限部分
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*/*"
],
我有一个 Chrome 扩展程序,我正在尝试让它向所有页面添加响应 Header。
这是清单中的内容:
"permissions": [
"storage",
"clipboardRead",
"clipboardWrite",
"webRequest",
"webRequestBlocking",
"background"
],
"background": {
"scripts": ["background-script.js"]
},
这是我 background-script.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,并从扩展 window 中的 "Inspect views: background page" 观察它。
但是,我认为 eventListener 不会执行 - 我在任何地方都没有看到 "headers received" 消息。
您在清单文件中声明了大量不必要的权限,但不是最重要的:主机权限。例如,如果您想拦截每个 http(s) 请求,请将 "*://*/*"
match pattern 添加到 manifest.json
:
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*/*"
],