首页 > 解决方案 > Firefox Web 扩展的上下文菜单项的图标可以即时更改吗?

问题描述

我为 Firefox 开发了一个 Web 扩展,其中manifest.json包含:

    "icons": {
        "16": "Open In New.svg"
    },

background.js包含:

browser.menus.create( {
  id: 'myContextMenuItem',
  title: browser.i18n.getMessage('contextMenuItemLabel'),
  contexts: ['link']
} )

中声明manifest.json的图标是扩展的图标,也用于上下文菜单项标签的前面。后者可以以编程方式即时更改吗?

我找到了更改上下文菜单图标,但没有解决方案。

标签: firefoxiconsfirefox-addoncontextmenufirefox-addon-webextensions

解决方案


您可以使用menus.update()进行更新。例如:

browser.menus.onClicked.addListener(function(info, tab) {
  if (info.menuItemId == "do-not-click-me") {
    var updating = browser.contextMenus.update(info.menuItemId, {
      icons: {16: 'something.svg'}
    });
    updating.then(onUpdated, onError);
  }
});

推荐阅读