[JavaScript] Gibt es eine Möglichkeit, dass durch das Script eine Taste gedrückt wird?

2 Antworten

Von einem Experten bestätigt

Also Strg+C kannst du mit

document.execCommand('copy');

simulieren.

Generell kannst du das Drücken einer Taste (KeyDown-Event) wie folgt simulieren:

document.dispatchEvent(new KeyboardEvent('keydown', { keyCode: <Zahl>, altKey: <true|false>, ctrlKey: <true|false>}));

Den Keycode für eine Taste erfährst du hier: https://keycode.info/ oder in einer ASCII-Tabelle deiner Wahl.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
verreisterNutzer  21.07.2021, 20:12

Und wie sehe das mit "Alt+C" aus?

0
MrAmazing2  21.07.2021, 20:19
@verreisterNutzer

Oder, falls es nicht auf der ganzen Seite, sondern auf ein bestimmtes Element bezogen sein soll:

element.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 67, altKey: true }));

1
verreisterNutzer  21.07.2021, 20:33
@MrAmazing2

Es gibt keine Fehlermeldung, aber es passiert nichts...

Also mit Alt+C möchte ich halt das automatische Synchronisieren der Zwischenablage zwischen PC und Android-Gerät triggern🤔

0
MrAmazing2  21.07.2021, 20:40
@verreisterNutzer

Du kannst natürlich nicht mit dem Broswer Tasten-Drücke ausserhalb des Browsers simulieren. Wo kämen wir denn da hin - Dann könnte eine Seite einfach Windows-Taste + R simulieren und dann beliebige Commands auf meiner Maschine eingeben ... Nene, das geht nich :D

Du kannst mit dem Browser nur simulieren, dass du im Browser eine Taste drückst. Ein Key-Logger oder ein externes Programm wie dieses Alt-C wird davon nichts mitbekommen. Ausser es ist irgendwie in den Browser Integriert, vlt. als Addon.

1
 var e = jQuery.Event("keydown");
 e.which = 67;
 e.ctrlkey = true;
 $(document).trigger(e);
Woher ich das weiß:Studium / Ausbildung – Informatikstudent
MrAmazing2  21.07.2021, 20:17

Oder einfach mit Plain JavaScript :D

1