javascript - 后台脚本中的 chrome.webRequest 侦听器仅在打开扩展程序时触发?
问题描述
我正在创建一个使用后台脚本侦听网络流量的扩展程序,使用chrome.webRequest.onBeforeRequest.addListener
. 但是,它似乎只是在用户打开扩展程序后才开始监听事件,并且它错过了之前的所有内容。
我认为后台脚本应该不断运行?
相关代码:
背景.js
let requests = []
console.log("background script now running");
chrome.webRequest.onBeforeRequest.addListener(function(details){
requests.concat(details.requestBody)
console.log(requests.length)
},
{urls: [ "<all_urls>" ]},['requestBody']);
清单.json
{
"name": "analytics Extension",
"description": "Extension to view Analytics Data",
"version": "0.0.2",
"manifest_version": 2,
"browser_action": {
"default_popup": "index.html",
"default_title": "Open the popup"
},
"permissions": [ "activeTab", "webRequest", "http://*/*", "https://*/*"],
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["./static/js/content.js"],
"all_frames": true,
"run_at": "document_end"
}
],
"web_accessible_resources": ["static/js/script.js"] ,
"background": {
"scripts": ["./static/js/background.js"],
"persistent": true
}
}
更有趣的部分是,我在后台脚本中的第一个打印语句在我加载扩展程序后立即打印,但只有在我打开扩展程序后监听器才会启动。请指教
解决方案
推荐阅读
- node.js - Twilio 检查验证令牌 API+邮递员超时
- python - 如何以最有效的方式将运动员的名字分配给新列“名字”?
- javascript - 包含 ajax 数据到 div
- java - 当我想在集合中保存多个 bean 时,是否需要在 Spring 中同步 @Autowired 方法?
- python - 让子弹留在同一个空间
- r - 在 scale_continuous ggplot2 中使用手动功能
- java - 在 Windows 上运行 mvn exec:java 时出现 ClassNotFoundException
- google-cloud-sql - Google Cloud SQL 设置和连接到 App Maker
- r - 使用 R 绘制桑基图
- python - 在张量流中未计算辍学