铬扩展 :网址权限不起作用



我们使用chrome webrequest API根据请求拦截和修改标头。在Chrome 72之前,我工作正常,但它不再工作了。但是当我用"<all_urls>"替换权限时,这就是工作。另外,我尝试使用另一个域Google,例如此示例:https://developer.chrome.com/extensions/webRequest 并且也不起作用。

你知道为什么它不再起作用吗?我们暂时将使用"<all_urls>",但这是一个我们并不真正需要的巨大许可。

manifest.json :

"permissions": [
 "webRequest",
 "webRequestBlocking",
 "*://*.merchantos.com/*"
 ]

背景.js

  chrome.webRequest.onHeadersReceived.addListener(
    details => ({
      responseHeaders: filter(details.responseHeaders),
    }),
    { urls: ['*://*.merchantos.com/*'] },
    ['blocking', 'responseHeaders']
  )

编辑:

问题解决了。对于 Chrome 72,您现在需要将请求的主机添加到您的权限中,以便能够编辑标头。

manifest.json :

"permissions": [
 "webRequest",
 "webRequestBlocking",
 "*://*.merchantos.com/*",
 "*://*.mywebsite.coom/*/,
 ]

在 Chrome 72 中,您需要在权限中指定要拦截的目标网址发出请求的网站网址。

例如:https://www.mywebsite.com/向要拦截的https://abc.merchantos.com发出请求。因此:

  • mywebsite.com 正在提出请求
  • abc.merchantos.com 是您要拦截的目标
  • 您必须在manifest.json中指定这两个 URL:

    {
        ...
        "permissions": [
            "webRequest", 
            "webRequestBlocking",
            "*://*.mywebsite.com/*", 
            "*://*.merchantos.com/*"
        ],
        ...
    }
    

最新更新