Heim > Web-Frontend > js-Tutorial > Wie kann ich Text in JavaScript effizient in die Zwischenablage kopieren?

Wie kann ich Text in JavaScript effizient in die Zwischenablage kopieren?

Barbara Streisand
Freigeben: 2024-12-26 16:20:10
Original
429 Leute haben es durchsucht

How Can I Efficiently Copy Text to the Clipboard in JavaScript?

Kopieren in die Zwischenablage in JavaScript

Allgemeiner Überblick

Um Text in die Zwischenablage in JavaScript zu kopieren, gibt es drei Schlüssel-APIs:

  1. Async Clipboard API (navigator.clipboard.writeText):

    • Primäre API für Chrome 66 und höher (März 2018).
    • Asynchroner Zugriff mithilfe von JavaScript-Versprechungen, um eine reibungslose Benutzererfahrung zu gewährleisten.
    • Text kann direkt aus einer Variablen kopiert werden.
    • Erfordert HTTPS für den Zugriff Zwischenablage.
  2. document.execCommand('copy'):

    • Veraltet, aber weithin unterstützt.
    • Synchroner Zugriff, die JavaScript-Ausführung wird angehalten, bis der Kopiervorgang abgeschlossen ist.
    • Text ist Aus dem DOM gelesen und in der Zwischenablage abgelegt.
    • Kann beim Testen in der Konsole Sicherheitsaufforderungen anzeigen.
  3. Überschreiben des Kopierereignisses:

    • Ermöglicht die Änderung von Zwischenablagedaten aus jeder Kopie Ereignis.
    • Unterstützt mehrere Datenformate über einfachen Text hinaus.

Entwicklungsnotizen

  • Zwischenablage- Verwandte Befehle funktionieren möglicherweise nicht in Konsolentests. Oft ist eine Seiteninteraktion oder ein aktiver Tab erforderlich.
  • Aufgrund der Browser-Abwertung von Cross-Origin-Berechtigungen in IFRAMEs funktionieren eingebettete Demos möglicherweise nicht in Browsern wie Chrome und Microsoft Edge.

Async Plus Fallback

Kombination der Async Clipboard API mit einem Fallback auf document.execCommand('copy') gewährleistet umfassende Browserunterstützung:

function copyTextToClipboard(text) {
  if (!navigator.clipboard) {
    fallbackCopyTextToClipboard(text);
    return;
  }
  navigator.clipboard.writeText(text).then(function() {
    console.log('Async: Copying to clipboard was successful!');
  }, function(err) {
    console.error('Async: Could not copy text: ', err);
  });
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Text in JavaScript effizient in die Zwischenablage kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage