javascript - activeTab 在 Chrome 扩展程序中无法与 webRequest 一起使用
问题描述
这是给我带来问题的代码(在我的后台脚本中):
chrome.webRequest.onCompleted.addListener((details) => {
if(details.type == "main_frame"){
randomname(details.url);
}
},{urls: ["http://*/*","https://*/*"]},["responseHeaders"]);
这是我的权限manifest.json
:
"permissions": ["activeTab", "storage", "unlimitedStorage"]
这是我得到的错误:
Uncaught TypeError: Cannot read property 'onCompleted' of undefined
当我将权限更改为此时,错误消失了:
"permissions": ["webRequest", "activeTab", "http://*/*", "https://*/*", "storage", "unlimitedStorage"]
我不明白为什么我必须webRequest
在我的权限中指定和主机。根据activeTab 文档,从技术上讲,我应该能够...
“使用 webRequest API 拦截选项卡中对选项卡主框架来源的网络请求。扩展程序暂时获取选项卡主框架来源的主机权限。”
此外,他们的示例使用activeTab
没有webRequest
在权限中声明。
解决方案
推荐阅读
- flutter - 如何在文本小部件上添加一个像线条一样的主题中断?
- python - 计算测量点和目标线之间的距离
- ubuntu - Jenkins:Ubuntu 16.04:Headless Chrome 无法启动:异常退出
- python - 将 2 个图像转换为 numpy 数组并逐像素比较
- javascript - 如何更改jQuery对象中对象类型的无序列表的ID
- java - 递归回溯仅适用于小输入。较大的输入会导致 stackOverFlow
- python - 获取不等于计数函数参数的变量的最佳方法?
- image - 如何通过放大、反应原生应用程序将 base64 图像上传到 S3
- java - Java- 使用 For 循环和用户输入填充二维数组
- java - Java 错误地将 UrlEncode \r 编码为 %5cr 而不是 %0D?