chrome.contextMenus.create包含动态项

时间:2018-05-25 08:18:38

标签: google-chrome google-chrome-extension contextmenu chrome-extension-async

我想构建一个chrome扩展程序,其中包含一些菜单,其中包含一些基于您点击内容的项目。

我使用chrome.runtime.onConnectExternal来传递日期,这里的一切正常。但是,当菜单显示后,事件发生时,扩展和站点之间的消息传递会异步完成。之后不会更新。 最终的结果是,有时您会看到基于右键单击的旧项目的菜单。

有没有办法在打开时刷新菜单。或者以同步方式在站点和分机之间进行通信的方式?

以下是显示菜单未更新的示例:

const test = chrome.contextMenus.create({
    'title': `menu 0`,
    "contexts": ['all'],
});

let index = 0;

setInterval(() => {
    chrome.contextMenus.update(test, {title: 'menu ' + index++})
}, 1000);

0 个答案:

没有答案