Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展:URL权限不起作用_Javascript_Google Chrome_Google Chrome Extension_Chrome Webrequest - Fatal编程技术网

Javascript Chrome扩展:URL权限不起作用

Javascript Chrome扩展:URL权限不起作用,javascript,google-chrome,google-chrome-extension,chrome-webrequest,Javascript,Google Chrome,Google Chrome Extension,Chrome Webrequest,我们正在使用ChromeWebRequestAPI拦截和修改请求的标题。 在Chrome72之前我一直工作得很好,但现在已经不工作了。但是当我用替换权限时,这也不起作用 你知道为什么它不起作用了吗? 目前我们将使用”,但这是一个巨大的权限,我们并不真正需要 manifest.json: "permissions": [ "webRequest", "webRequestBlocking", "*://*.merchantos.com/*" ] "permissions": [ "we

我们正在使用ChromeWebRequestAPI拦截和修改请求的标题。 在Chrome72之前我一直工作得很好,但现在已经不工作了。但是当我用
替换权限时,这也不起作用

你知道为什么它不起作用了吗? 目前我们将使用
,但这是一个巨大的权限,我们并不真正需要

manifest.json:

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

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

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

manifest.json:

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

使用Chrome72,您需要在权限中指定要截取的目标URL和请求的网站URL

例如:
https://www.mywebsite.com/
https://abc.merchantos.com
您要拦截的。因此:

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

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

请参阅webRequest的文档:要修改某些标题,您现在需要“extraHeaders”。您好@wOxxOm,谢谢您的回答。我尝试添加此extras标题,但没有任何更改:/
javascript chrome.webRequest.onHeadersReceived.addListener(详细信息=>({responseHeaders:filter(details.responseHeaders),}),{url:['*://*.merchantos.com/*']},['blocking','responseHeaders','extraHeaders'])