0

Ich versuche eine Erweiterung zu bauen. Das erste Ereignis wird außerhalb eines beliebigen Browsers ausgeführt und durch einen Hotkey ausgelöst. Dieser Hotkey löst eine Eingabeaufforderung aus, und das Ergebnis dieser Eingabeaufforderung wird verwendet, um eine Webseite abzufragen.In Eingabeaufforderung einfügen (d. H. Wie auf die Eingabeaufforderung fokussiert wird)? (Chrome Erweiterung)

Standardmäßig möchte ich, dass die Eingabeaufforderung aus der Zwischenablage des Benutzers ausgefüllt wird. Ich habe alle entsprechenden Berechtigungen aktiviert. Gibt es eine Möglichkeit, das Eingabefeld im Eingabeaufforderungsfenster so zu "fokussieren", dass "document.execommand ('paste');" wird funktionieren?

Gibt es eine Möglichkeit, die dritte Zeile des folgenden Javascript zu ändern, um das gewünschte Ergebnis zu erzielen?

JavaScript

document.getElementById("myButton").addEventListener("click", function(){ 
    var result = prompt("enter value"); 
    document.execCommand('paste'); 
    alert(result); 
}); 

html

<input type="button" value="clickme" id="myButton"> 
+0

Warum brauchen Sie die Eingabeaufforderung? –

Antwort

1

Wenn Sie document.execCommand verwenden sind, nicht prompt zu erwähnen, das heißt, Sie sind in einem Browser-Umgebung ausgeführt wird. Am besten ist es also, einen einfachen Overlay + Modal-Dialog im Browser zu implementieren, den Inhalt der Zwischenablage in eine Eingabe einzufügen und fortzufahren.

Und leider können Sie nicht auf die Zwischenablage "Fokus": document.execCommand verwendet bereits die Zwischenablage. Die Eingabe in einer Eingabeaufforderung ist nicht Teil des DOM, daher reagiert sie nicht auf JavaScript-Manipulation. :(

+0

Sorry ich wollte nicht "Fokus" in die Zwischenablage schreiben, ich wollte schreiben "Fokus auf das Eingabefeld im Eingabeaufforderungsfenster. Bearbeitet, um das zu reflektieren. I bekomme, dass Chrome (ein Browser) meinen Code ausführt, aber zum Zeitpunkt der Ausführung der Eingabeaufforderung (außer der Eingabeaufforderung selbst) ist kein aktives Fenster geöffnet. Daher kann ich den normalen unsichtbaren Div - Trick nicht verwenden zumindest weiß nicht, wie ich es würde). –

Verwandte Themen