Paket | flash.desktop |
Klasse | public class Clipboard |
Vererbung | Clipboard Object |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
generalClipboard
-Eigenschaft zugegriffen werden.
Ein Clipboard-Objekt kann dieselben Informationen in mehreren Formaten enthalten. Auf diese Weise ist die Wahrscheinlichkeit größer, dass eine andere Anwendung diese Informationen verwenden kann. Mit der setData()
- oder setDataHandler()
-Methode können Sie einem Clipboard-Objekt Daten hinzufügen.
Die Standardformate sind:
- BITMAP_FORMAT: ein BitmapData-Objekt (nur AIR)
- FILE_LIST_FORMAT: ein Array von File-Objekten (nur AIR)
- HTML_FORMAT: Stringdaten im HTML-Format
- TEXT_FORMAT: Stringdaten
- RICH_TEXT_FORMAT: ein ByteArray, das Rich Text Format-Daten enthält
- URL_FORMAT: ein URL-String (nur AIR)
Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert.
Wenn eine Übertragung zum oder vom Betriebssystem stattfindet, werden die Standardformate automatisch zwischen ActionScript-Datentypen und den Zwischenablagetypen des nativen Betriebssystems übersetzt.
Sie können von der Anwendung definierte Formate verwenden, um einem Clipboard-Objekt ActionScript-Objekte hinzuzufügen. Wenn ein Objekt serialisierbar ist, können sowohl ein Verweis als auch ein Klon des Objekts zur Verfügung gestellt werden. Objektverweise sind nur in der ursprünglichen Anwendung gültig.
Wenn es rechnerisch aufwendig ist, die zu übertragenden Informationen in ein bestimmtes Format zu konvertieren. können Sie den Namen einer Funktion bereitstellen, die die Konvertierung ausführt. Die Funktion wird nur dann aufgerufen, wenn das betreffende Format von der Empfängerkomponente der Anwendung gelesen wird. Mit der setDataHandler()
-Methode können Sie einem Clipboard-Objekt eine zurückgestellte Wiedergabefunktion hinzufügen. Beachten Sie, dass in einigen Fällen das Betriebssystem die Funktion aufruft, bevor ein Ablegen erfolgt. Wenn Sie zum Beispiel eine Prozedurfunktion verwenden, um die Daten für eine Datei, die aus einer AIR-Anwendung in das Betriebssystem gezogen wird, bereitzustellen, ruft das Betriebssystem die Datenprozedur auf, sobald die Ziehen-Geste die AIR-Anwendung verlässt. Dies führt normalerweise zu einer unerwünschten Pause, da die Dateidaten heruntergeladen oder erstellt werden.
Hinweis für AIR-Anwendungen: Das Clipboard-Objekt, auf das von den Ereignisobjekten verwiesen wird, welche bei HTML-Ziehen-und-Ablegen- sowie Kopier-und Einfügeereignissen ausgelöst werden, hat nicht denselben Typ wie AIR-Clipboard-Objekte. Das JavaScript-Clipboard-Objekt wird im AIR Entwicklerhandbuch beschrieben.
Hinweis für Flash Player-Anwendungen: In Flash Player 10 erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü). Clipboard.getData()
gibt die Inhalte der Zwischenablage nur zurück, wenn das InteractiveObject ein paste-Ereignis erhalten hat und darauf reagiert. Unter anderen Bedingungen ist der Aufruf von Clipboard.getData()
erfolglos. Dieselbe Einschränkung gilt in AIR für Inhalte außerhalb der Anwendungssandbox.
Unter Linux werden Daten in der Zwischenablage gelöscht, wenn die AIR-Anwendung geschlossen wird.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
formats : Array [schreibgeschützt]
Ein Array von Strings, das die Namen der Datenformate enthält, die in diesem Clipboard-Objekt verfügbar sind. | Clipboard | ||
generalClipboard : Clipboard [statisch] [schreibgeschützt]
Die Zwischenablage des Betriebssystems. | Clipboard | ||
supportsFilePromise : Boolean [schreibgeschützt]
Gibt an, ob das Zwischenablageformat der Dateizusage vom Clientsystem unterstützt wird. | Clipboard |
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein leeres Clipboard-Objekt. | Clipboard | ||
Löscht alle Datendarstellungen aus diesem Clipboard-Objekt. | Clipboard | ||
Löscht alle Datendarstellungen für das angegebene Format. | Clipboard | ||
Ruft die Daten in der Zwischenablage ab, falls Daten im angegebenen Format vorhanden sind. | Clipboard | ||
Überprüft, ob in diesem Clipboard-Objekt Daten im angegebenen Format vorhanden sind. | Clipboard | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Fügt eine Darstellung der Informationen hinzu, die in das angegebene Datenformat übertragen werden sollen. | Clipboard | ||
Fügt eine Prozedurfunktion hinzu, die die zu übertragenden Daten produziert. | Clipboard | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
formats | Eigenschaft |
formats:Array
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Ein Array von Strings, das die Namen der Datenformate enthält, die in diesem Clipboard-Objekt verfügbar sind.
Stringkonstanten für die Namen der Standardformate sind in der ClipboardFormats-Klasse definiert. Auch andere durch die Anwendung definierte Strings können als Formatnamen für die Übertragung von Daten als Objekt verwendet werden.
Implementierung
public function get formats():Array
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
formats
-Array der Systemzwischenablage gelesen:
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | Eigenschaft |
generalClipboard:Clipboard
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Die Zwischenablage des Betriebssystems.
Alle Daten, die in die Zwischenablage kopiert werden, sind für andere Anwendungen verfügbar. Dazu kann auch unsicherer Remotecode gehören, der in einem Webbrowser ausgeführt wird.
Hinweis: In Flash Player 10-Anwendungen erfordert ein Einfügevorgang aus der Zwischenablage ein durch den Benutzer ausgelöstes Ereignis (z. B. Tastaturbefehl, „Einfügen“-Befehl, Mausklick auf den „Einfügen“-Befehl in einem Kontextmenü). Clipboard.getData()
gibt die Inhalte der Zwischenablage nur zurück, wenn das InteractiveObject ein paste-Ereignis erhalten hat und darauf reagiert. Unter anderen Bedingungen ist der Aufruf von Clipboard.getData()
erfolglos. Dieselbe Einschränkung gilt in AIR für Inhalte außerhalb der Anwendungssandbox.
Das generalClipboard
-Objekt wird automatisch erstellt. Sie können dieser Eigenschaft keine weitere Clipboard-Instanz zuweisen. Verwenden Sie stattdessen die Methoden getData()
und setData()
, um Daten in das vorhandene Objekt zu schreiben bzw. daraus zu lesen.
Sie sollten die Zwischenablage immer leeren, bevor Sie neue Daten hineinschreiben, um sicher zu sein, dass alte Daten aller Formate gelöscht wurden.
Das generalClipboard
-Objekt kann nicht an den AIR-NativeDragManager übergeben werden. Erstellen Sie ein neues Clipboard-Objekt für native Drag&Drop-Operationen in einer AIR-Anwendung.
Implementierung
public static function get generalClipboard():Clipboard
Beispiel ( Verwendung dieses Beispiels )
import flash.desktop.ClipboardFormats; var copy:String = "A string to copy to the system clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy);
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
supportsFilePromise | Eigenschaft |
Clipboard | () | Konstruktor |
public function Clipboard()
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Erstellt ein leeres Clipboard-Objekt.
Erstellen Sie Clipboard-Objekte, um die Daten einer nativen Drag & Drop-Geste in Adobe AIR aufzunehmen. Clipboard-Objekte können nur für eine Drag & Drop-Geste verwendet werden; sie lassen sich nicht wiederverwenden.
Erstellen Sie Clipboard-Objekte nicht für Kopieren-und-Einfügen-Vorgänge. Verwenden Sie stattdessen ein einzelnes Clipboard.generalClipboard
-Objekt.
Auslöser
IllegalOperationError — new Clipboard() wird in Flash Player nicht unterstützt, da in Flash Player nur die Zwischenablage des Betriebssystems verwendet werden kann. Verwenden Sie für Kopieren-und-Einfügen-Vorgänge, die die Systemzwischenablage benutzen, das Clipboard.generalClipboard-Objekt, anstatt ein neues Clipboard-Objekt zu erstellen. Gibt in einer AIR-Anwendung keinen Fehler aus.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
Hinweis: Verwenden Sie für Kopieren-und-Einfügen-Vorgänge, die die Zwischenablage einbeziehen, das Clipboard.generalClipboard
-Objekt, anstatt eine neue Zwischenablage zu erstellen.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | Methode |
public function clear():void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Löscht alle Datendarstellungen aus diesem Clipboard-Objekt.
Auslöser
SecurityError — In diesem Kontext ist ein Aufruf von generalClipboard.clear() nicht zulässig. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
|
Beispiel ( Verwendung dieses Beispiels )
Clipboard.generalClipboard.clear();
clearData | () | Methode |
public function clearData(format:String):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Löscht alle Datendarstellungen für das angegebene Format.
Parameter
format:String — Das zu entfernende Datenformat.
|
Auslöser
SecurityError — In diesem Kontext ist ein Aufruf von generalClipboard.clearData() nicht zulässig. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
|
Beispiel ( Verwendung dieses Beispiels )
ClipboardFormats.TEXT_FORMAT
aus der Zwischenablage des Betriebssystems gelöscht:
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | Methode |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Ruft die Daten in der Zwischenablage ab, falls Daten im angegebenen Format vorhanden sind.
In Flash Player muss die getData()
-Methode in einer paste
-Ereignisprozedur aufgerufen werden. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
Wenn auf ein Standarddatenformat zugegriffen wird, werden die Daten als ein neues Objekt des entsprechenden Flash-Datentyps zurückgegeben.
Wenn auf ein von der Anwendung definiertes Format zugegriffen wird, bestimmt der Wert des transferMode
-Parameters, ob ein Verweis auf das ursprüngliche Objekt oder ein anonymes Objekt mit einer serialisierten Kopie des ursprünglichen Objekts zurückgegeben wird. Wenn ein originalPreferred
- oder clonePreferred
-Modus festgelegt ist, geben Flash Player oder AIR die alternative Version zurück, wenn die ursprüngliche nicht verfügbar ist. Wenn ein originalOnly
- oder cloneOnly
-Modus festgelegt ist, geben Flash Player oder AIR null
zurück, wenn die angeforderte Version nicht verfügbar ist.
Parameter
format:String — Das zurückzugebende Datenformat. Der Formatstring kann einen der Standardnamen, der in der ClipboardFormats-Klasse enthalten ist, oder einen von der Anwendung definierten Namen enthalten.
| |
transferMode:String (default = "originalPreferred ") — Gibt an, ob ein Verweis oder eine serialisierte Kopie zurückgegeben werden soll, wenn auf ein von der Anwendung definiertes Datenformat zugegriffen wird. Der Wert muss einer der Namen sein, die in der ClipboardTransferMode-Klasse definiert sind. Dieser Wert wird bei Standarddatenformaten ignoriert und es wird immer eine Kopie zurückgegeben.
|
Object — Ein Objekt des Typs, der dem Datenformat entspricht.
|
Auslöser
Error — transferMode ist keiner der Namen, die in der ClipboardTransferMode-Klasse definiert sind.
| |
IllegalOperationError — Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (nur AIR).
| |
SecurityError — Das Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player kann diese Methode nur während der Verarbeitung eines paste -Ereignisses erfolgreich aufgerufen werden. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | Methode |
public function hasFormat(format:String):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Überprüft, ob in diesem Clipboard-Objekt Daten im angegebenen Format vorhanden sind.
Verwenden Sie für Verweise auf Standardformatnamen die Konstanten der ClipboardFormats-Klasse.
Parameter
format:String — Der zu überprüfende Formattyp.
|
Boolean — true , wenn Daten im angegebenen Format vorliegen.
|
Auslöser
IllegalOperationError — Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich.
| |
SecurityError — Das Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | Methode |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Fügt eine Darstellung der Informationen hinzu, die in das angegebene Datenformat übertragen werden sollen.
In der Anwendungssandbox von Adobe AIR kann setData()
jederzeit aufgerufen werden. In anderen Kontexten kann setData()
nur als Reaktion auf ein vom Benutzer generiertes Ereignis, zum Beispiel Tastenbetätigung oder Mausklick, aufgerufen werden.
Verschiedene Darstellungen derselben Informationen können der Zwischenablage in verschiedenen Formaten hinzugefügt werden, sodass anderen Komponenten oder Anwendungen die verfügbaren Daten mit größerer Wahrscheinlichkeit nutzen können. Ein Bild kann zum Beispiel in Form von Bitmapdaten für Bildbearbeitungsanwendungen hinzufügt werden, als URL und als codierte PNG-Datei für die Übertragung in das native Dateisystem.
Der data-Parameter muss den entsprechenden Datentyp für das angegebene Format aufweisen:
Format | Typ | Beschreibung |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | Stringdaten |
ClipboardFormats.HTML_FORMAT | String | HTML-Stringdaten |
ClipboardFormats.URL_FORMAT | String | URL-String (nur AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | Rich Text Format-Daten |
ClipboardFormats.BITMAP_FORMAT | BitmapData | Bitmapdaten (nur AIR) |
ClipboardFormats.FILE_LIST_FORMAT | Array von File | ein Dateiarray (nur AIR) |
Benutzerdefinierter Formatname | beliebig | Objektverweis und serialisierter Klon |
Benutzerdefinierte Formatnamen dürfen nicht mit „air:“ oder „flash:“ beginnen. Um Konflikte bei der Benennung zu vermeiden, wenn Sie benutzerdefinierte Formate verwenden, können Sie die Anwendungs-ID oder einen Paketnamen als Präfix für den Formatnamen verwenden, zum Beispiel „com.example.applicationName.dataPacket“.
Beim Übertragen innerhalb von oder zwischen Anwendungen bestimmt der serializable
-Parameter, ob sowohl ein Verweis und eine Kopie verfügbar sind, oder ob nur ein Verweis auf ein Objekt verfügbar ist. Stellen Sie serializable
auf true
, damit sowohl ein Verweis als auch eine Kopie der Daten verfügbar sind. Stellen Sie serializable
auf false
, damit nur der Objektverweis verfügbar ist. Objektverweise sind nur innerhalb der aktuellen Anwendung gültig, sodass die Einstellung von serializable
auf false
auch bedeutet, dass die Daten in diesem Format nicht für andere Flash Player- oder AIR-Anwendungen verfügbar sind. Eine Komponente kann wahlweise den Verweis oder die Objektkopie abrufen, indem der entsprechende Übertragungsmodus für die Zwischenablage eingestellt wird, wenn auf die Daten für dieses Format zugegriffen wird.
Hinweis: Die Standardformate werden immer in native Formate konvertiert, wenn Daten außerhalb einer unterstützten Anwendung eingefügt oder gezogen werden, sodass der Wert des serializable
-Parameters keinen Einfluss auf die Verfügbarkeit der Daten in Standardformaten für nicht Flash-basierte Anwendungen hat.
Verwenden Sie stattdessen die setDataHandler()
-Methode, um die Wiedergabe von Daten eines bestimmten Formats zurückzustellen. Wenn sowohl die setData()
- als auch die setDataHandler()
-Methode verwendet wird, um eine Datendarstellung mit demselben Formatnamen hinzuzufügen, wird die Prozedurfunktion nie aufgerufen.
Hinweis: Wenn Sie auf Mac OS den format
-Parameter auf ClipboardFormats.URL_FORMAT
setzen, wird die URL nur übertragen, wenn es sich um eine gültige URL handelt. Andernfalls wird das Clipboard-Objekt geleert (und das Aufrufen von getData()
ergibt null
).
Parameter
format:String — Das Format der Daten.
| |
data:Object — Die hinzuzufügenden Informationen.
| |
serializable:Boolean (default = true ) — Geben Sie true an für Objekte, die serialisiert (und deserialisiert) sein können.
|
Boolean — true , wenn die Daten erfolgreich festgelegt wurden; andernfalls false . Gibt in Flash Player den Wert false zurück, wenn format ein nicht unterstütztes Mitglied der ClipboardFormats-Klasse ist. (Flash Player unterstützt nicht ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT oder ClipboardFormats.BITMAP_FORMAT ).
|
Auslöser
IllegalOperationError — Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (was passieren kann, wenn Zwischenablagen für Drag-and-Drop-Vorgänge erstellt werden).
| |
SecurityError — Das Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
| |
TypeError — format oderdata hat den Wert null .
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import flash.desktop.ClipboardFormats; var htmlString:String = "<html><body>Body content</body></html>"; Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, urlString); Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, urlString);
setDataHandler | () | Methode |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.0 |
Fügt eine Prozedurfunktion hinzu, die die zu übertragenden Daten produziert.
Verwenden Sie eine Prozedurfunktion, um die Erstellung oder Wiedergabe der Daten zurückzustellen, bis tatsächlich auf sie zugegriffen wird.
Die Prozedurfunktion muss den entsprechenden Datentyp für das angegebene Format zurückweisen:
Format | Rückgabetyp |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | String (nur AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (nur AIR) |
ClipboardFormats.FILE_LIST_FORMAT | Array von File (nur AIR) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | Array von File (nur AIR) |
Benutzerdefinierter Formatname | Nicht ungültig |
Die Prozedurfunktion wird nur dann aufgerufen, wenn die Daten im angegebenen Format gelesen werden. Beachten Sie, dass in einigen Fällen das Betriebssystem die Funktion aufruft, bevor ein Ablegen erfolgt. Wenn Sie zum Beispiel eine Prozedurfunktion verwenden, um die Daten für eine Datei, die aus einer AIR-Anwendung in das Betriebssystem gezogen wird, bereitzustellen, ruft das Betriebssystem die Datenprozedur auf, sobald die Ziehen-Geste die AIR-Anwendung verlässt. Dies führt normalerweise zu einer unerwünschten Pause, da die Dateidaten heruntergeladen oder erstellt werden. Sie können stattdessen eine URLFilePromise zu diesem Zweck verwenden.
Beachten Sie, dass die zugrunde liegenden Daten zwischen dem Hinzufügen der Prozedur und dem Lesen der Daten geändert werden können, falls Ihre Anwendung die Daten nicht schützt. Das Verhalten, das auftritt, wenn durch eine Prozedurfunktion dargestellte Daten in der Zwischenablage mehrmals gelesen werden, kann nicht garantiert werden. Die Zwischenablage gibt entweder die Daten zurück, die durch den ersten Funktionsaufruf generiert wurden, oder die Funktion wird erneut aufgerufen. Keine der beiden Verhaltensweisen kann garantiert werden.
In der Anwendungssandbox von Adobe AIR kann setDataHandler()
jederzeit aufgerufen werden. In anderen Kontexten kann setDataHandler()
nur als Reaktion auf ein vom Benutzer generiertes Ereignis, zum Beispiel Tastenbetätigung oder Mausklick, aufgerufen werden.
Wenn Sie diesem Clipboard-Objekt Daten direkt hinzufügen möchten, verwenden Sie stattdessen die setData()
-Methode. Wenn sowohl die setData()
- als auch die setDataHandler()
-Methode mit demselben Formatnamen aufgerufen wird, wird die Prozedurfunktion nie aufgerufen.
Hinweis: Wenn Sie auf Mac OS den format
-Parameter auf ClipboardFormats.URL_FORMAT
setzen, wird die URL nur übertragen, wenn die Prozedurfunktion eine gültige URL zurückgibt. Andernfalls wird das Clipboard-Objekt geleert (und das Aufrufen von getData()
ergibt null
).
Parameter
format:String — Eine Funktion, die die zu übertragenden Daten zurückgibt.
| |
handler:Function — Das Format der Daten.
| |
serializable:Boolean (default = true ) — Geben Sie true an, wenn das von handler zurückgegebene Objekt serialisierbar (und deserialisierbar) ist.
|
Boolean — true , wenn die Prozedur erfolgreich festgelegt wurde; andernfalls false .
|
Auslöser
TypeError — format oder handler hat den Wert null .
| |
IllegalOperationError — Das angeforderte Clipboard-Objekt befindet sich nicht mehr in diesem Bereich (nur AIR).
| |
SecurityError — Das Lesen aus und Schreiben in die Zwischenablage ist in diesem Kontext nicht erlaubt. In Flash Player können Sie diese Methode nur während der Verarbeitung eines durch den Benutzer ausgelösten Ereignisses (z. B. Tastendruck oder Mausklick) erfolgreich aufrufen. In AIR gilt diese Einschränkung nur für Inhalte außerhalb der Sicherheitssandbox der Anwendung.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Schreiben Sie die Daten, in diesem Fall ein String, in
Clipboard.generalClipboard
. - Lesen Sie den Inhalt der Zwischenablage aus
Clipboard.generalClipboard
.
Hinweis: Aufgrund von Sicherheitseinschränkungen beim Zugriff auf Daten in der Zwischenablage funktioniert dieses Beispiel in Flash Player nicht. In Flash Player können Sie die getData()
-Methode eines Clipboard-Objekts nur in einer paste
-Ereignisprozedur aufrufen.
package { import flash.display.Sprite; import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; import flash.desktop.ClipboardTransferMode; public class ClipboardExample extends Sprite { public function ClipboardExample() { var sally:String = "Sally"; var person:String; copy(sally); person = paste(); trace(person); //traces: "Sally" } private function copy(text:String):void { Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, text); } private function paste():String { if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) { return String(Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT)); } else { return null; } } } }
Tue Jun 12 2018, 10:04 AM Z