有没有办法从网页将项目添加到本机浏览器的上下文菜单?

问题描述 投票:0回答:0

至少根据我的经验,尝试为网站实现上下文菜单是很困难的。我主要使用 React 构建单页应用程序,其中通常需要上下文菜单。虽然直到今天,我还没有在 npm 上找到一个好的上下文菜单库。我当前选择的库是 react menu,它很不错,但有问题,而且性能不佳。所有其他上下文菜单库似乎都缺乏功能,或者已经停产多年。我想知道浏览器的内置上下文菜单是否可以由类似于 chrome.contextMenus API 的网站进行操作。

我最近发现 chrome devtools 其实只是一个普通的网页,在任何基于 chromium 的浏览器上,你都可以在这里访问它:devtools://devtools/bundled/devtools_app.html。当然,开发工具在许多地方使用自定义上下文菜单,例如在选项卡上。

此屏幕截图是从 ms Edge 截取的,但 chrome 也会发生同样的情况

很明显,考虑到我可以在普通浏览器选项卡中重现此上下文菜单,可以以某种方式实现自定义上下文菜单。我知道 devtools 正在浏览器保护协议(devtools)中运行,它可能会被授予额外的权限来访问用于上下文菜单的任何 api,但我不明白为什么 chromium 会故意限制 api 的使用比如这个。

这样的 api 将非常有用,我将要查看 chrome devtools 源代码以了解这是如何实现的,但如果该 api 由于某种原因仅限于普通网站,我想知道是否有人知道 devtools 中使用了什么 api。

javascript google-chrome google-chrome-devtools contextmenu chromium
© www.soinside.com 2019 - 2024. All rights reserved.