javascript - Chrome 扩展程序:URL 权限不起作用
问题描述
我们正在使用 chrome webrequest API 来拦截和修改请求的标头。在 Chrome 72 之前我工作得很好,但它不再工作了。但是当我用它替换权限时"<all_urls>"
。另外,我尝试了另一个域,谷歌,比如这个例子:https ://developer.chrome.com/extensions/webRequest ,但它也不起作用。
你知道为什么它不再起作用了吗?我们将暂时使用"<all_urls>"
,但这是我们并不真正需要的巨大许可。
清单.json:
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.merchantos.com/*"
]
背景.js
chrome.webRequest.onHeadersReceived.addListener(
details => ({
responseHeaders: filter(details.responseHeaders),
}),
{ urls: ['*://*.merchantos.com/*'] },
['blocking', 'responseHeaders']
)
编辑 :
问题解决了。对于 Chrome 72,您现在需要将请求的主机添加到您的权限中才能编辑标头。
清单.json:
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.merchantos.com/*",
"*://*.mywebsite.coom/*/,
]
解决方案
使用 Chrome 72,您需要在权限中指定要拦截的目标 URL,以及从中发出请求的网站 URL。
例如:https://www.mywebsite.com/
发出https://abc.merchantos.com
要拦截的请求。因此:
- mywebsite.com 正在发出请求
- abc.merchantos.com 是您要拦截的目标
您必须在您的 : 中指定这两个 URL
manifest.json
:{ ... "permissions": [ "webRequest", "webRequestBlocking", "*://*.mywebsite.com/*", "*://*.merchantos.com/*" ], ... }
推荐阅读
- c# - Html Agility Pack 可以基于名称属性定位元素吗?
- python - 当键的数量与每个键的值的数量相比较小时,PySpark reduceByKey 会继续失败
- npm - 如何使用 Yarn 安装最新版本的 Next.js?
- python - 如何恢复用于生成给定哈希的字符串?
- node.js - 将 nodejs 缓冲区转换为 Uint16Array
- serial-port - 如何在 PYMODBUS(Modicon?)中塑造一个 CALL
- python - 将数据框中的列的行创建为另一个数据框中的列
- flutter - SnackBar 不显示
- google-sheets - 从其他行的组合创建行
- f# - 如何在 F# 的列表中仅保留“稳定”值