chrome.contextMenus支持在扩展名中创建上下文菜单项。我正在尝试在控制台窗口(F12)中运行它,以尝试在上下文菜单中为当前网页创建一个新项目,但是它不起作用。控制台窗口不支持上下文菜单API吗?为什么?

最佳答案

Chrome有多个不同的控制台/ DevTools,您可以打开它们进行扩展。 This answer描述了如何打开可用的各种DevTools。但是,您将永远无法从F12 DevTools访问/执行chrome.contextMenu.* API,因为您可以从该DevTools与之交互的唯一扩展上下文是content script上下文,并且内容脚本无权访问 API。该API仅在后台上下文中可用。

因此,您将需要使用可用于背景页面1的DevTools。另外,您当然需要在manifest.json中声明chrome.contextMenu.* permissionThe answer linked above将显示/告诉您如何打开背景页面的DevTools。从那里,您应该能够从JavaScript控制台执行contextMenus API调用。




后台上下文中其他页面的控制台(弹出窗口,选项页面,面板,在选项卡中打开的扩展页面等)似乎没有提供对chrome.contextMenu.* API的访问。在这些控制台中进行的测试表明chrome.*未定义。

关于javascript - 在Chrome的F12控制台中创建上下文菜单?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41176448/

10-11 22:20
查看更多