在Google Chrome扩展程序中,我知道如何在所选文字上显示上下文菜单。
chrome.contextMenus.create({
'title': 'TEST',
'contexts': ['selection'],
'id': "test"
});
chrome.contextMenus.create({
'title': 'submenu',
'contexts': ['selection'],
'id': "test_1",
'parentId': "test",
'onclick': menu.onClicked_
});
但是,只有当所选文本位于"可编辑元素中时,我才想显示此菜单。 (输入文本,文本区域,内容可编辑DIV,......)。我怎么能这样做?
谢谢!
答案 0 :(得分:2)
看起来几乎不可能达到你想要的效果。
Chrome API为上下文菜单定义了2个相关的上下文:
"editable"
上下文"selection"
用于文档的选定片段你想要的是这些之间的逻辑AND,但Chrome只允许逻辑OR。
还要考虑选择可以跨越多个可编辑元素。因此,您需要一个可以完全在可编辑元素中进行描述的文本选择"。好吧,你可以随时leave a feature request。
可能有一些hacky变通方法,比如尝试在每个页面上使用内容脚本检测用户选择,并基于此动态创建菜单,但我确信有方法,这样的方法太多了