2 Stimmen

Wie kann man die Zuhören-Schaltfläche auf der Google-Translate-Seite mit Javascript auslösen?

Ich möchte der Google-Translate-Seite Verknüpfungen hinzufügen.
Presse Altc o Esc zum Löschen der textarea Presse Altj auszusprechen.

Dies ist das aktuelle Benutzerskript: userscripts.org/scripts/review/110928

Ich weiß nicht, wie ich die Schaltfläche "Anhören" auf dieser Seite aktivieren kann.

Ich habe es versucht:

  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);

aber es funktioniert nicht. ( gt-src-listen ist die ID des Listen-Buttons).

2voto

Brock Adams Punkte 86168

Google verwendet einen ziemlich verrückten Code. Es scheinen mehrere Ereignisse erforderlich zu sein, um die Schaltfläche zu aktivieren.

Dies funktioniert in 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');

(Im Moment; Google macht ständig Dinge kaputt).

In Firefox funktioniert nichts, und diese Schaltflächen haben bei mir nie funktioniert, auch nicht bei manuellem Anklicken in diesem Browser.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X