【问题标题】:Can't add Response Header with Chrome extension无法使用 Chrome 扩展添加响应标头
【发布时间】:2015-02-20 19:00:59
【问题描述】:

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

这是清单中的内容:

"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,并从“扩展”窗口中的“检查视图:背景页面”中观察它。

但是,我认为 eventListener 不会执行 - 我没有在任何地方看到“收到标头”消息。

【问题讨论】:

    标签: javascript google-chrome-extension response-headers


    【解决方案1】:

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

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

    【讨论】:

    • 做到了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2015-03-07
    • 2011-09-27
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多