1

我发现了很多问题,比如这个这个这个,旨在展示如何“模拟右键单击”或“触发上下文菜单”等。然后我找到了这个,简单地说做不到。我认为前 3 个问题都触发了自定义上下文菜单,即附加的用于替换内置菜单的菜单。我只想模拟用户右键单击我选择的特定元素。

我已经尝试了第一个问题中的所有建议 -createEvent("MouseEvents" / "HTMLEvents")initEvent / initMouseEvent("click" / "contextmenu")、 jQuerytrigger等的不同组合。没有任何东西可以显示默认上下文菜单。

真的不可能吗?我从用户脚本(在 Greasemonkey 中)运行“特权”这一事实有什么不同吗?我可以通过一个全权重的 Firefox 扩展来做到这一点吗?

4

1 回答 1

1

没错,您链接的前三个答案用于自定义菜单/控件。

第四个答案是正确的;你不能激活浏览器的上下文菜单——出于同样的原因,你不能激活浏览器的普通菜单……这将是一个坏人会利用的巨大安全漏洞。

同样,Greasemonkey 脚本也不能这样做。Greasemonkey 脚本有一些提升的权限(仅当在沙盒模式下运行时,从 GM 1.0 开始),但 Greasemonkey 的开发人员没有选择提供上下文菜单。(我也没有听说过迫切需要这种功能。)

我很确定一个成熟的附加组件可以激活上下文菜单(或菜单项),但我从未尝试过,目前无法提供代码。

于 2012-09-07T10:24:53.567 回答