我正在为Firefox和Chrome编写一个扩展,它专门针对文本框(单行和多行(上的上下文菜单。。。并操纵元素中的值。
为了实现这一点,我创建了新的上下文菜单项,将contexts
设置为editable
,它通常可以按照我的意愿工作。
由于权限的原因,我无法在Firefox或Chrome的新选项卡页面上操作搜索文本框的内容(我对此没有问题(,并且在尝试在选项卡上executeScript
时在Firefox上出现以下错误…
错误:缺少选项卡的主机权限
但是,如果用户右键单击新选项卡页面上的文本框,我不知道如何阻止上下文菜单项出现。没有一个contextType可以让我瞄准那个选项卡。
有什么方法可以阻止新选项卡页面上的上下文菜单吗?
感谢@wOxxOm的评论,他们为我指明了正确的方向。。。
注册菜单时使用
documentUrlPatterns
因此,我使用了menus.create
方法的documentUrlPatterns
属性,它可以根据我的需要工作…
let validUrlPatterns = ["*://*/*", "file:///*/*"];
menus.create({
...
documentUrlPatterns: validUrlPatterns,
contexts: ["editable"]
});
在这种情况下,我有两个项目-第一个将匹配正常网站(http://,https://(,第二个将匹配用于测试的本地文件(file:///(
有关匹配模式的更多信息,请参阅Mozilla文档