chrome.contextMenus.create с динамическими элементами - PullRequest
0 голосов
/ 25 мая 2018

Я хочу создать расширение 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);
...