Javascript 后台脚本事件侦听器在弹出脚本出错后中断
我在Javascript 后台脚本事件侦听器在弹出脚本出错后中断,javascript,google-chrome,google-chrome-extension,popup,Javascript,Google Chrome,Google Chrome Extension,Popup,我在background.js chrome.tabs.onRemoved.addListener(...); 它使用Chrome存储API修改扩展存储以跟踪选项卡。在这种情况发生之前,它可以正常工作: 虽然错误实际上在一个弹出脚本中,但是background.js中的事件侦听器在此之后停止启动,我必须手动重新导入扩展 如果错误发生在ChromeAPI函数中,是否相关? 如何确保事件侦听器一直处于激活状态 // manifest.json ... "permissions"
background.js
chrome.tabs.onRemoved.addListener(...);
它使用Chrome存储API修改扩展存储以跟踪选项卡。在这种情况发生之前,它可以正常工作:
虽然错误实际上在一个弹出脚本中,但是background.js
中的事件侦听器在此之后停止启动,我必须手动重新导入扩展
如果错误发生在ChromeAPI函数中,是否相关?
如何确保事件侦听器一直处于激活状态
// manifest.json
...
"permissions": ["storage", "declarativeContent", "activeTab"],
"web_accessible_resources": [
"audio/Low_Woodblock.wav"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"page_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/icon_ok16.png"
}
},
...
如果没有(manifest.json和代码),这个问题实际上是无法回答的。现在最好的猜测是,您错误地加载了与背景脚本和弹出窗口中的脚本相同的脚本。在问题中添加了manifest.json。您认为什么代码重要?
未选中运行时。lastError:无法建立连接。接收端不存在
我无法检查它,因为chrome.connect不接受回调。。。但这是另一个问题,我想manifest.json
会回答你的问题。不,我不是。html导入不同的js文件。如果不尝试整个扩展名,我将无法提供帮助。现在我甚至不能确定错误是否与问题有关,因为扩展中有许多活动部件可能被错误使用。它也可能是Chrome中的一个bug。