chrome扩展onBeforeSendHeaders修改Referer失败

问题描述:利用chrome扩展监听onBeforeSendHeaders修改ajax requestHeaders的Referer失败了,同样的添加修改其他字段也是失败(当然方法是进去了的)
状态码:200
Request Headers:显示Provisional headers are shown(应该不影响吧)
Response:缺少Referer(理所当然的)

Tips:我去年有成功过,扩展代码也没动,可以排除是代码写法问题

阅读 6.2k
3 个回答

我也遇到了相同的问题

--2019年3月28日13:28:12补充

刚刚用了chrome63版本就可以了,估计是最新版的chrome的问题

这个扩展真的很奇怪,昨天搞了一上午,改user-agent死活都不生效,跟没改一样。但是下午又莫名其妙的行了。什么也没做,代码还是一样。都不知道是哪里的原因。

在 Chrome 72 后,需要增加一个『extraHeaders』
例如

chrome.webRequest.onBeforeSendHeaders.addListener(function (details) {
  details.requestHeaders.push({
    name: 'Referer',
    value: 'https://item.taobao.com'
  });
  return { requestHeaders: details.requestHeaders };
  }, {
    urls: [  
    "*://*.taobao.com/*",
  ]
  }, ['blocking', 'requestHeaders','extraHeaders']
);

image.png

文档地址:https://developer.chrome.com/...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题