Ist es möglich, aus der Zwischenablage onclick in Javascript einzufügen?

Lesezeit: 2 Minuten

Der Anwendungsfall ist die Dateneingabe in einem privaten Intranet: Benutzer kopieren und fügen aus Google-Dokumenten, Dropbox-Textdokumenten usw. ein und müssen sie in ein Formular mit vielen Eingaben einfügen. Um es für sie zu beschleunigen, wäre es schön, wenn der Benutzer aus dem Dokument kopieren und einfügen könnte, und wenn er auf das Eingabefeld klickt, wird es automatisch eingefügt, wenn er mit der linken Maustaste klickt.

Ich habe einige ältere Fragen gesehen, aber es scheint, dass dies (und aus gutem Grund) ein Sicherheitsrisiko ist. Aber alle Benutzer im privaten Intranet wissen das und wollen einfach Zeit sparen. Gibt es einen Browser oder eine Technik, die dies ermöglichen würde?

Außerdem können wir jeden Browser oder jede Umgebung verwenden, die dies unterstützt. Wie kann ich dann diese Funktionalität erreichen, um Zeit zu sparen?

  • Vielleicht kannst du die neue gebrauchen Zwischenablage API.

    – EinfachJ

    31. Mai 2018 um 22:32 Uhr

  • document.execBefehl Inhalt bearbeitbare (oder Formular-)Elemente einfügen?

    – jezz

    31. Mai 2018 um 22:46 Uhr


Die Zwischenablage-API ist in Chrome 66 enthalten. Überprüfen Sie die jsfiddle hier: https://jsfiddle.net/zm490d6a/

Relevanter Code ist:

async function paste(input) {
  const text = await navigator.clipboard.readText();
  input.value = text;
}

Wenn Sie Chrome 66 oder höher verwenden, funktioniert dies. Beachten Sie jedoch, dass Sie der Webseite aus Sicherheitsgründen die Erlaubnis erteilen müssen, auf die Zwischenablage zuzugreifen. Wenn Sie also zum ersten Mal auf die Eingabe auf dieser Seite klicken, wird ein Popup-Fenster angezeigt, in dem Sie um Ihre Erlaubnis zum Zugriff auf die Zwischenablage gebeten werden. Sobald Sie ihm Zugriff gewähren, werden alle Klicks in die Eingabe eingefügt, was sich in Ihrer Zwischenablage befindet.

Hier verwende ich einfach readText, aber Sie können auch readData für Bilder usw. in der Zwischenablage verwenden. https://developer.mozilla.org/en-US/docs/Web/API/Clipboard

Versuchen

el.addEventListener('click', (e) => { 
    document.execCommand('paste');
});

1016110cookie-checkIst es möglich, aus der Zwischenablage onclick in Javascript einzufügen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy