使用事件页面或 Service Workers 的扩展必须将 id 参数传递给 chrome.contextMenus.create

问题描述

我正在编写一个简单的浏览器扩展程序。我的上下文菜单有问题。我希望我要添加菜单只能在 textarea 或 text input 上访问,并且在用户在这两种类型的元素中选择一些文本之后。我正在使用此代码,但我总是收到此错误

Unchecked runtime.lastError: Extensions using event pages or Service Workers must pass an id parameter to chrome.contextMenus.create

这是我的实际代码

const textTranslate = (info,tab) => {
  console.log(info,tab);
  //API call
  //fetch(...).then().then();
}

const parentMenu = browser.contextMenus.create({
  id: 'live-translate',title: 'LiveTranslate',contexts: ['editable']
});

browser.contextMenus.create({
  title: 'Translate',contexts: ['selection'],parentId: parentMenu,});

browser.contextMenus.onClicked.addListener(textTranslate);

既然我会调用 api 来对选定的文本执行所需的操作,那么我如何用 api 调用的响应替换选择?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)