我的扩展需要为其用户提供一些服务,它的部分工作是监听标签创建事件。我在 popup.js 中有我所有的 javascript 并且有自我调用 chrome.tabs.onCreated.addListener(function(tab) {
问题是,如果用户单击扩展符号(如果他打开扩展因此激活 popup.js),扩展只会监听选项卡创建事件,并且如果弹出屏幕关闭,所有事件监听都会停止。(我通过写信给控制台验证了它,如果你停下来思考它是有道理的)我的问题是:我想在扩展的整个生命周期中收听事件(换句话说,自从用户打开 chrome 以来),而不仅仅是当用户弹出扩展名。
我知道有一个叫做背景页面的东西,我应该尝试将我的整个代码移到那里吗?我这是后台页面的正常做法吗?只是事件监听器依赖于更多的函数和更多的对象,似乎我的几乎所有代码都会去那里。popup.js 将几乎一无所有。另一件事是我不确定是否可以在触发“domcontentloaded”事件之前在后台页面中注册事件(并且此事件仅在用户弹出扩展程序时触发)。
任何帮助,将不胜感激!