Chrome扩展程序:如何以编程方式更改每个页面请求的标题?

 幽咽小香 发布于 2023-02-09 19:56

我目前正在开发Chrome扩展程序,需要添加/更改标头值,但仅限于特定页面.像这样的东西:

chrome.onPageRequest(function(host) {
    if(host == 'google.com') {
        chrome.response.addHeader('X-Auth', 'abc123');
    }
});

任何帮助将不胜感激 :)

1 个回答
  • 您可以使用chrome.webRequest API来实现此目的.你需要以下内容:

      在清单中声明适当的权限:

      ...
      "permissions": [
          ...
          "webRequest",
          "*://*.google.com/*"
      ]
      

      注册chrome.webRequest.onHeadersReceived()事件的侦听器并修改标头.为了能够修改标题,您需要定义'responseHeaders'额外信息(请参阅监听器函数的第三个参数):

      chrome.webRequest.onHeadersReceived.addListener(function(details) {
          console.log(details);
          details.responseHeaders.push({
              name: 'X-Auth',
              value: 'abc123'
          });
          return { responseHeaders: details.responseHeaders };
      }, {
          urls: ['*://*.google.com/*']
      }, [
          "responseHeaders"
      ]);
      

      请记住,webRequest只有在您的后台页面是持久性的情况下,权限才有效,因此请从清单中删除相应的行(如果它存在 - 应该这样做):

      ...
      "background": {
          "persistent": false,   // <-- Remove this line or set it to `true`
          "scripts": [...]
          ...
      


    另外,请记住,Google通常会根据用户的国家/地区重定向请求(例如重定向www.google.comwww.google.gr),在这种情况下,过滤器不会让他们联系到您的onHeadersReceived听众.

    2023-02-09 19:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有