ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.desktop 

Clipboard  - AS3

Paketflash.desktop
Klassepublic class Clipboard
VererbungClipboard Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: Flash Player 10, AIR 1.0

Die Clipboard-Klasse stellt einen Container zum Übertragen von Daten und Objekten mithilfe der Zwischenablage bereit. Auf die Zwischenablage des Betriebssystems kann über die statische 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.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : 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
Öffentliche Methoden
 MethodeDefiniert 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
  
getData(format:String, transferMode:String = "originalPreferred"):Object
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
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
setData(format:String, data:Object, serializable:Boolean = true):Boolean
Fügt eine Darstellung der Informationen hinzu, die in das angegebene Datenformat übertragen werden sollen.
Clipboard
  
setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Fügt eine Prozedurfunktion hinzu, die die zu übertragenden Daten produziert.
Clipboard
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

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 )
Im folgenden Beispiel wird das 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 )
Schreiben in die Betriebssystemzwischenablage:
 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);
Lesen aus der Betriebssystemzwischenablage:
 import flash.desktop.ClipboardFormats;
 
 var pasteData:String  = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
    

supportsFilePromise

Eigenschaft 
supportsFilePromise:Boolean  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 2

Gibt an, ob das Zwischenablageformat der Dateizusage vom Clientsystem unterstützt wird.



Implementierung
    public function get supportsFilePromise():Boolean
Konstruktordetails

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 )

Im folgenden Beispiel wird eine neue Zwischenablage zur Verwendung mit der NativeDragManager-Klasse erstellt.

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();
Methodendetails

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 )

Im folgenden Beispiel wird der Inhalt der Systemzwischenablage gelöscht:
 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 )

Im folgenden Beispiel werden alle Daten des Formats 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.

Rückgabewerte
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 )

Im folgenden Beispiel wird Text aus der Systemzwischenablage gelesen, falls verfügbar:
 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.

Rückgabewerte
Booleantrue, 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 )

Im folgenden Beispiel wird die Systemzwischenablage überprüft, um festzustellen, ob textformatierte Daten verfügbar sind:
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:

FormatTypBeschreibung
ClipboardFormats.TEXT_FORMATStringStringdaten
ClipboardFormats.HTML_FORMATStringHTML-Stringdaten
ClipboardFormats.URL_FORMATStringURL-String (nur AIR)
ClipboardFormats.RICH_TEXT_FORMATByteArrayRich Text Format-Daten
ClipboardFormats.BITMAP_FORMATBitmapDataBitmapdaten (nur AIR)
ClipboardFormats.FILE_LIST_FORMATArray von Fileein Dateiarray (nur AIR)
Benutzerdefinierter FormatnamebeliebigObjektverweis 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.

Rückgabewerte
Booleantrue, 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 )

Im folgenden Beispiel werden der Systemzwischenablage Inhalte im Text- und HTML-Format hinzugefügt:
 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:

FormatRückgabetyp
ClipboardFormats.TEXT_FORMATString
ClipboardFormats.HTML_FORMATString
ClipboardFormats.URL_FORMATString (nur AIR)
ClipboardFormats.RICH_TEXT_FORMATByteArray
ClipboardFormats.BITMAP_FORMATBitmapData (nur AIR)
ClipboardFormats.FILE_LIST_FORMATArray von File (nur AIR)
ClipboardFormats.FILE_PROMISE_LIST_FORMATArray von File (nur AIR)
Benutzerdefinierter FormatnameNicht 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.

Rückgabewerte
Booleantrue, 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

setData()
flash.desktop.ClipboardFormats
flash.desktop.URLFilePromise

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird der Systemzwischenablage über eine zurückgestellte Datenfunktion eine zufällige Zahl hinzugefügt:
 import flash.desktop.ClipboardFormats;
 
 Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator);

 public function randomNumberGenerator():String{
     return Math.random().toString();
 }
ClipboardExample.as

Im folgenden Beispiel für Adobe AIR wird die ClipboardExample-Klasse verwendet, um einen String über die Systemzwischenablage von einer Variablen zu einer anderen zu kopieren. Dies wird in den folgenden Schritten erreicht:
  1. Schreiben Sie die Daten, in diesem Fall ein String, in Clipboard.generalClipboard.
  2. 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;
            }
        }
        
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.