1

在我background.js文件我有以下代码:Chrome扩展上下文菜单不坚持

chrome.runtime.onInstalled.addListener(function (info) { 
    chrome.contextMenus.removeAll(function() { 
     chrome.contextMenus.create({ 
      "title": "Blog this image", 
      "contexts": ["image"], 
      "id": "contextimagelink", 
      "onclick": onImageClickedHandler 
     }, function() { }); 
    }); 
}); 

的想法是,将扩展安装或更新,以消除任何现有的上下文菜单我已经随时之前设置并只安装一个。

问题是,每次通过商店更新扩展名时,上下文菜单都会被删除,但不会被重新安装。我找不出一种方法来调试,或者为什么它发生。在开发过程中不会发生,只有在我发布更新后更新扩展时才会发生。

回答

2

chrome.runtime.onInstalledchrome.runtime.onStartup事件中添加上下文菜单。

对于示例代码,看看https://github.com/Rob--W/crxviewer/blob/master/src/bg-contextmenu.js 在这种扩展,上下文菜单是一个可选的特征,它的状态是通过偏好控制经由chrome.storage API持续存在。
此外,还有一个open Chromium issueonInstalled事件处于隐身模式。我已经解决了这个问题https://github.com/Rob--W/crxviewer/blob/master/src/incognito-events.js

+0

我试过这个,只是更新了我的应用程序。不起作用。 –

+0

@wtfsven链接到你的源代码? –

+0

https://chrome.google.com/webstore/detail/mcobficgnfpkmfggdmlbllhemkbaloop - 版本0.64应该在30分钟左右。 –

相关问题