Chrome 扩展:onStartup 事件在 Cognito 窗口中不起作用
我在manifest.json中有以下配置
"incognito": "split",
我正在尝试执行服务工作人员(MV3)中的 chrome.runtime.onStartup 事件内的代码逻辑,但它不起作用。启动事件在隐身模式下不会触发,但在正常模式下会工作。在 chrome 和 chromium Edge 浏览器中。
chrome.runtime.onStartup.addListener( ()=> {
// Code logics here
} );
如果我将这些代码逻辑移到服务工作线程文件的顶部,那么它就可以工作,但我只想在 onStartup 事件中处理它。另外,“incognito”应该在 manifest.json 中处于“split”模式
如果我得到任何人的帮助,我将不胜感激。
提前致谢!
看起来像是 Chrome 中的一个错误。
一种解决方法是使用 chrome.extension.inIncognitoContext:
if (chrome.extension.inIncognitoContext) {
chrome.storage.session.get('onStartup', r => {
if (!r.onStartup) {
chrome.storage.session.set({onStartup: true});
console.log('Initializing in incognito...');
// ...............
}
})
}
并将
"permissions": ["storage"]
添加到manifest.json。