我想在Google翻译页面添加快捷方式
按 Alt c 或 Esc 清除textarea
;按 Alt j 发音。
这是当前的用户脚本:userscripts.org/scripts/review/110928
我不知道如何在该页面上触发监听按钮。
我试过了:
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cb = document.getElementById("gt-src-listen");
cb.dispatchEvent(evt);
但它不起作用。 (gt-src-listen
是监听按钮的ID。)
答案 0 :(得分:2)
Google使用了一些非常棘手的代码,似乎需要几个事件才能播放该按钮。
适用于Chrome:
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}
var srcListenButton = document.getElementById('gt-src-listen');
triggerMouseEvent (srcListenButton, 'mouseover');
triggerMouseEvent (srcListenButton, 'mousedown');
triggerMouseEvent (srcListenButton, 'mouseup');
(目前为止; Google不断破坏事物)。
在Firefox中没有任何作用,这些按钮从来没有为我播放过,甚至在该浏览器中手动点击。