似乎无法在JavaScript中模拟右键单击。如何右键单击javascript
我曾试图就在这样一个iframe单击某个元素(段):
HTML
<button onclick="popup_context_menu_in_iframe()">
popup menu
</button>
<br/><br/>
<iframe srcdoc="<p>Hello world!</p>">
</iframe>
脚本
function popup_context_menu_in_iframe()
{
var $element = $('iframe').contents().find('p');
var element = $element.get(0);
if (window.CustomEvent) {
element.dispatchEvent(new CustomEvent('contextmenu'));
} else if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent('contextmenu', true, false);
element.dispatchEvent(ev);
} else { // Internet Explorer
element.fireEvent('oncontextmenu');
}
}
https://jsfiddle.net/sca60d64/2/
现在看来似乎实际上不可能使上下文菜单出现,所以我需要fi nd其他方式。
我首先要创建一个扩展的chrome来为窗口对象添加一个函数,这个函数可以从任何使用额外功能的脚本中调用。
但是,铬扩展令人惊讶似乎没有提供一种在窗口对象中创建函数的方法。我没有看过它是否让我有能力弹出上下文菜单。
在放弃之前,我没有对Chrome扩展做过很多实验。
所以我需要另一种解决方案。
如果一个解决方案只适用于谷歌浏览器,或者如果不能保证它会在下一个版本中停止工作,那并不重要。
我应该钩一个DLL的铬进程?是吗?
这是可能的:http://stackoverflow.com/questions/7914684/trigger-right-click-using-pure-javascript – wf4
似乎这是不可能做到这一点在我的iframe的例子,这个问题已编辑。 –