经过测试:为了避免重复执行某些代码(比如chrome.contextMenus.create重复执行使得
未选中的runtime.lastError:无法创建具有重复ID的项目
),需要将其移至chrome.runtime.onInstalled.addListener. 但是chrome.action.onClicked.addListener移入的某些代码(例如 )chrome.runtime.onInstalled.addListener将不会在下次唤醒时运行。
如果chrome.action.onClicked.addListener放在Service Worker的最顶层,
每次 Service Worker 唤醒时是否会再次添加 Listener,
会有多个重复的听众吗?
新添加的Listener和之前添加的Listener中的函数会同时执行吗?
https://developer.chrome.com/docs/extensions/mv3/service_workers/说:
后台 Service Worker 在需要时加载,在空闲时卸载。一些例子包括:
说“空闲时卸载”,之前添加的监听器也会被卸载吗?___如果是这样,如何再次唤醒服务人员?
或者只卸载前面添加的Listener中的功能,并保留Listener空壳只是为了唤醒service worker?