Heim > Web-Frontend > js-Tutorial > Wie kann ich Text in JavaScript effizient über mehrere Browser hinweg in die Zwischenablage kopieren?

Wie kann ich Text in JavaScript effizient über mehrere Browser hinweg in die Zwischenablage kopieren?

Linda Hamilton
Freigeben: 2024-12-26 20:57:15
Original
162 Leute haben es durchsucht

How to Efficiently Copy Text to the Clipboard Across Multiple Browsers in JavaScript?

Kopieren von Text in die Zwischenablage in JavaScript für mehrere Browser

Übersicht: Welche API soll verwendet werden?

Um Text in die Zwischenablage zu kopieren, bietet JavaScript drei Hauptbrowser-APIs:

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

    • Verfügbar in Chrome 66
    • Asynchron und verwendet Promises
    • Kann geschrieben werden, um Benutzereingaben nicht zu unterbrechen
    • Wird nur auf HTTPS unterstützt Seiten
  • document.execCommand('copy'):

    • Weitgehend browserübergreifend unterstützt
    • Synchron, Anhalten der Seitenausführung bis zum Abschluss
    • Liest Text aus dem DOM und platziert ihn in der Zwischenablage
  • Überschreiben des Kopierereignisses:

    • Ermöglicht die Änderung des Inhalts der Zwischenablage für jedes Kopierereignis
    • Unterstützt mehrere Datenformate, die über reinen Text hinausgehen
    • Nicht direkt angesprochen hier

Allgemeine Entwicklungshinweise

  • Zwischenablagebefehle funktionieren möglicherweise nicht, wenn Code in der Konsole getestet wird.
  • Aktive Seiten (für Async Clipboard API) oder Benutzerinteraktion (für document.execCommand('copy')) ist häufig der Fall erforderlich.

Asynchroner Fallback-Ansatz

Aufgrund der unterschiedlichen Browserunterstützung ist es ratsam, eine Fallback-Methode zu verwenden. Zum Beispiel:

function fallbackCopyTextToClipboard(text) {
  // ...
}

function copyTextToClipboard(text) {
  if (!navigator.clipboard) fallbackCopyTextToClipboard(text);
  // ...
}
Nach dem Login kopieren

Demo und Fazit

Um den Code zu testen und ihn in Aktion zu sehen, besuchen Sie diese Demonstrationsseite. Beachten Sie, dass eingebettete Beispiele aufgrund von Berechtigungsproblemen in IFRAMEs möglicherweise nicht funktionieren.

Für vollständige browserübergreifende Kompatibilität verwenden Sie die Async Clipboard API, sofern unterstützt, und greifen Sie andernfalls auf document.execCommand('copy') zurück.

Das obige ist der detaillierte Inhalt vonWie kann ich Text in JavaScript effizient über mehrere Browser hinweg 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