我想为 Google 翻译页面添加快捷方式。
按Altc或Esc清除文本区域
;按 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 中没有任何效果,而且那些按钮从未在该浏览器中为我播放过,即使是手动点击也是如此。
关于javascript - 如何使用 javascript 触发谷歌翻译页面上的监听按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7136834/