我想为google翻译页面添加快捷方式。
按Altc或Esc清除textarea
;按Altj发音
这是当前的用户脚本: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)
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中什么都不起作用,这些按钮对我来说从来没有播放过,即使在那个浏览器中手动点击也没有。