Chrome 扩展:onStartup 事件在 Cognito 窗口中不起作用

问题描述 投票:0回答:1

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”模式

如果我得到任何人的帮助,我将不胜感激。

提前致谢!

javascript google-chrome-extension service-worker chrome-extension-manifest-v3
1个回答
0
投票

看起来像是 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。

© www.soinside.com 2019 - 2024. All rights reserved.