似乎無法在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的例子,這個問題已編輯。 –