Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. Clipboard API

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Clipboard API

DieClipboard API bietet die Möglichkeit, auf Zwischenablage-Befehle (Ausschneiden, Kopieren und Einfügen) zu reagieren sowie asynchron von und in die System-Zwischenablage zu lesen und zu schreiben.

Hinweis:Verwenden Sie diese API anstelle der veraltetendocument.execCommand()-Methode, um auf die Zwischenablage zuzugreifen.

Hinweis:Diese API istnicht verfügbar inWeb Workers (nicht überWorkerNavigator verfügbar).

Konzepte und Nutzung

DieSystem-Zwischenablage ist ein Datenpuffer, der zum Betriebssystem des Browsers gehört. Sie dient zur kurzfristigen Datenspeicherung und/oder zum Datentransfer zwischen Dokumenten oder Anwendungen. Sie wird üblicherweise als ein anonymer, temporärerDatenpuffer implementiert, manchmal auch alsPaste Buffer bezeichnet, und kann von den meisten oder allen Programmen innerhalb der Umgebung über definierte Programmier-Schnittstellen erreicht werden.

Die Clipboard API ermöglicht es Benutzern, textuelle und andere Arten von Daten programmgesteuert in und aus der System-Zwischenablage insicheren Kontexten zu lesen und zu schreiben, vorausgesetzt, der Benutzer erfüllt die im AbschnittSicherheitsüberlegungen dargelegten Kriterien.

Ereignisse werden als Folge voncut-,copy- undpaste-Operationen ausgelöst, die die Zwischenablage verändern. Diese Ereignisse haben eine Standardaktion, beispielsweise kopiert diecopy-Aktion standardmäßig die aktuelle Auswahl in die System-Zwischenablage. Die Standardaktion kann durch den Ereignishandler überschrieben werden — sehen Sie sich die jeweiligen Ereignisse für mehr Informationen an.

Es gibt auch einclipboardchange-Ereignis, das direkt auf demClipboard-Objekt ausgelöst wird, wann immer sich der Inhalt der System-Zwischenablage ändert. Dies ist nützlich, um Anwendungen über eine Änderung der System-Zwischenablage zu informieren, wenn sie beispielsweise ihre eigene Zwischenablage haben, die synchron gehalten werden muss.

Schnittstellen

ClipboardSicherer Kontext

Bietet eine Schnittstelle zum Lesen und Schreiben von Text und Daten in oder aus der System-Zwischenablage.Die Spezifikation nennt dies die 'Async Clipboard API'.

ClipboardChangeEvent

Repräsentiert Ereignisse, die ausgelöst werden, wann immer sich der Inhalt der System-Zwischenablage ändert.

ClipboardEvent

Repräsentiert Ereignisse, die Informationen in Bezug auf Änderungen an der Zwischenablage bereitstellen, alsocut-,copy- undpaste-Ereignisse. Die Spezifikation nennt dies die 'Clipboard Event API'.

ClipboardItemSicherer Kontext

Repräsentiert ein einzelnes Datenformat, das beim Lesen oder Schreiben von Daten verwendet wird.

Erweiterungen anderer Schnittstellen

Die Clipboard API erweitert die folgenden APIs und fügt die aufgelisteten Funktionen hinzu.

Navigator.clipboardSchreibgeschütztSicherer Kontext

Gibt einClipboard-Objekt zurück, das Lese- und Schreibzugriff auf die System-Zwischenablage bietet.

Elementcopy Ereignis

Ein Ereignis, das ausgelöst wird, wann immer der Benutzer eine Kopieraktion initiiert.

Elementcut Ereignis

Ein Ereignis, das ausgelöst wird, wann immer der Benutzer eine Ausschneideaktion initiiert.

Elementpaste Ereignis

Ein Ereignis, das ausgelöst wird, wann immer der Benutzer eine Einfügeaktion initiiert.

Sicherheitsüberlegungen

Die Clipboard API ermöglicht es Benutzern, textuelle und andere Arten von Daten programmgesteuert in und aus der System-Zwischenablage insicheren Kontexten zu lesen und zu schreiben.

Beim Lesen von der Zwischenablage verlangt die Spezifikation, dass ein Benutzer kürzlich mit der Seite interagiert hat (transiente Benutzeraktivierung) und dass der Aufruf als Ergebnis der Benutzerinteraktion mit einem "Paste Element" des Browsers oder Betriebssystems erfolgt (z.B. "Einfügen" in einem nativen Kontextmenü wählen). In der Praxis erlauben Browser oft Leseoperationen, die diese Anforderungen nicht erfüllen, während sie andere Anforderungen stellen (wie eine Erlaubnis oder Aufforderung pro Operation).Für das Schreiben in die Zwischenablage erwartet die Spezifikation, dass der Seite diePermissions APIclipboard-write-Erlaubnis erteilt wurde, und der Browser kann auchtransiente Benutzeraktivierung erfordern. Browser können zusätzliche Einschränkungen für die Verwendung der Methoden zum Zugriff auf die Zwischenablage auferlegen.

Browserimplementierungen weichen von der Spezifikation ab. Die Unterschiede sind im AbschnittBrowser-Kompatibilität festgehalten und der aktuelle Stand ist unten zusammengefasst:

Chromium-Browser:

  • Wenn ein Lesevorgang nicht von der Spezifikation erlaubt ist und das Dokument den Fokus hat, wird eine Anfrage ausgelöst, um die Erlaubnisclipboard-read zu verwenden, und sie ist erfolgreich, wenn die Erlaubnis erteilt wird (entweder weil der Benutzer die Aufforderung akzeptiert hat oder weil die Erlaubnis bereits erteilt wurde).
  • Schreiben erfordert entweder dieclipboard-write-Erlaubnis oder transiente Aktivierung.Wenn die Erlaubnis erteilt wird, bleibt sie bestehen und eine weitere transiente Aktivierung ist nicht erforderlich.
  • Die HTTPPermissions-Policy-Erlaubnisseclipboard-read undclipboard-write müssen für<iframe>-Elemente, die auf die Zwischenablage zugreifen, erlaubt sein.

Firefox & Safari:

  • Wenn ein Lesevorgang nicht von der Spezifikation erlaubt ist, aber die transiente Benutzeraktivierung dennoch erfüllt ist, wird eine Benutzeraufforderung in Form eines flüchtigen Kontextmenüs mit einer einzigen "Einfügen"-Option ausgelöst (die nach 1 Sekunde aktiviert wird) und ist erfolgreich, wenn der Benutzer die Option wählt.
  • Schreiben erfordert eine transiente Aktivierung.
  • Die Einfügeaufforderung wird unterdrückt, wenn dasselbe Ursprungs-Zwischenablageinhalte gelesen werden, jedoch nicht bei Inhalten aus verschiedenen Ursprüngen.
  • Dieclipboard-read undclipboard-write-Erlaubnisse werden von Firefox oder Safari nicht unterstützt (und sind nicht geplant, unterstützt zu werden).

FirefoxWeb-Erweiterungen:

  • Lesen steht Erweiterungen mit der Web-ErweiterungclipboardRead Erlaubnis zur Verfügung. Mit dieser Erlaubnis benötigt die Erweiterung keine transiente Aktivierung oder verwendet die Einfügeaufforderung. Ab Firefox 147 ist das Lesen auch ohne Erlaubnis in einem sicheren Kontext, mit transienten Aktivierung und nachdem der Benutzer die Einfügeaufforderung in einem flüchtigen Kontextmenü angeklickt hat, möglich.
  • Schreiben ist in einem sicheren Kontext und mit transienten Aktivierung verfügbar. Mit der Web-ErweiterungclipboardWrite Erlaubnis ist jedoch keine transiente Aktivierung erforderlich.

Beispiele

Zugriff auf die Zwischenablage

Die System-Zwischenablage wird über das globaleNavigator.clipboard abgerufen.

Dieses Snippet holt den Text aus der Zwischenablage und hängt ihn an das erste Element an, das mit der Klasseeditor gefunden wird. DareadText() einen leeren String zurückgibt, wenn die Zwischenablage keinen Text enthält, ist dieser Code sicher.

js
navigator.clipboard  .readText()  .then(    (clipText) => (document.querySelector(".editor").innerText += clipText),  );

Spezifikationen

Specification
Clipboard API and events
# clipboard-interface
Clipboard API and events
# clipboardchangeevent
Clipboard API and events
# clipboard-event-interfaces
Clipboard API and events
# clipboarditem

Browser-Kompatibilität

api.Clipboard

api.ClipboardChangeEvent

api.ClipboardEvent

api.ClipboardItem

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp