Package | flash.desktop |
Classe | public class Clipboard |
Héritage | Clipboard Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
generalClipboard
.
Un objet Clipboard peut contenir les mêmes informations en plusieurs formats. Le fait de fournir les informations en plusieurs formats augmente les chances qu’une autre application puisse les exploiter. Ajoutez des données dans un objet Clipboard avec la méthode setData()
ou setDataHandler()
.
Les formats standard sont :
- BITMAP_FORMAT : objet BitmapData (AIR uniquement)
- FILE_LIST_FORMAT: tableau d’objets File (AIR uniquement)
- HTML_FORMAT: données de chaîne au format HTML
- TEXT_FORMAT: données de chaîne
- RICH_TEXT_FORMAT : objet ByteArray contenant des données au format RTF
- URL_FORMAT : chaîne d’URL (AIR uniquement)
Ces constantes des noms des formats standard sont définies dans la classe ClipboardFormats.
Lors d’un transfert vers ou depuis le système d’exploitation, les formats standard sont automatiquement convertis entre les types de données ActionScript et les types de Presse-papiers du système d’exploitation natif.
Vous pouvez utiliser des formats définis par l’application pour ajouter des objets ActionScript dans un objet Clipboard. Si un objet est sérialisable, une référence et un clone de l’objet peuvent être rendus disponibles. Les références d’objet ne sont valides que dans l’application d’origine.
Lorsque la conversion des informations à transférer en un format particulier réclame des calculs poussés, vous pouvez fournir le nom d’une fonction qui effectue la conversion. La fonction est appelée si, et seulement si, ce format est lu par le composant ou l’application de réception. Ajoutez une fonction de rendu différé à un objet Clipboard avec la méthode setDataHandler()
. Notez que dans certains cas, le système d’exploitation appelle la fonction avant qu’un dépôt ne se produise. Par exemple, lorsque vous utilisez une fonction de gestionnaire pour fournir des données à un fichier déplacé depuis une application AIR vers le système de fichiers, le système d’exploitation appelle la fonction de gestionnaire des données dès que le mouvement de glissement quitte l’application AIR, ce qui résulte généralement en une pause indésirable lors du téléchargement ou de la création des données du fichier.
Remarque réservée aux applications d’AIR : l’objet Clipboard référencé par les objets d’événement distribués pour les événements HTML de glisser-déposer et de copier-coller ne sont pas du même type que l’objet Clipboard d’AIR. L’objet Clipboard JavaScript est décrit dans le guide du développeur AIR.
Remarque réservée aux applications de Flash Player : dans Flash Player 10, une opération de collage à partir du Presse-papiers implique tout d’abord un événement utilisateur (par exemple, l’utilisation du raccourci clavier de la commande Coller ou un clic de souris sur la commande Coller d’un menu contextuel). Clipboard.getData()
ne renvoie le contenu du presse-papiers que si InteractiveObject a reçu et exécute un événement coller. En aucun autre cas, l’appel à Clipboard.getData()
ne peut échouer. La même restriction s’applique dans le contenu AIR qui se trouve en dehors du sandbox de l’application.
Sous Linux, les données du Presse-papiers ne persistent pas lorsqu’une application AIR se ferme.
Plus d’exemples
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
formats : Array [lecture seule]
Tableau de chaînes contenant les noms des formats de données disponibles dans cet objet Clipboard. | Clipboard | ||
generalClipboard : Clipboard [statique] [lecture seule]
Presse-papiers du système d’exploitation. | Clipboard | ||
supportsFilePromise : Boolean [lecture seule]
Indique si le format de Presse-papiers du fichier promis est pris en charge sur le système client. | Clipboard |
Méthode | Défini par | ||
---|---|---|---|
Crée un objet Clipboard vide. | Clipboard | ||
Supprime toutes les représentations de données dans cet objet Clipboard. | Clipboard | ||
Supprime la représentation des données au format spécifié. | Clipboard | ||
Récupère les données du presse-papiers si elles sont présentes au format spécifié. | Clipboard | ||
Vérifie si des données sont présentes au format spécifié dans cet objet Clipboard. | Clipboard | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Ajoute une représentation des informations à transférer dans le format de données spécifié. | Clipboard | ||
Ajoute une référence à une fonction de gestionnaire qui produit les données à transférer. | Clipboard | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
formats | propriété |
formats:Array
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Tableau de chaînes contenant les noms des formats de données disponibles dans cet objet Clipboard.
Les constantes de chaîne des noms des formats standard sont définies dans la classe ClipboardFormats. D’autres chaînes, définies par l’application, peuvent également être utilisées comme noms de format pour transférer les données sous forme d’objet.
Implémentation
public function get formats():Array
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
formats
du presse-papiers du système :
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | propriété |
generalClipboard:Clipboard
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Presse-papiers du système d’exploitation.
Toutes les données collées dans le presse-papiers du système sont disponibles pour les autres applications. Cela peut comprendre le code distant non sécurisé s’exécutant dans un navigateur Web.
Remarque : dans les applications de Flash Player 10, une opération de collage à partir du presse-papiers implique tout d’abord un événement utilisateur (par exemple, utilisation du raccourci clavier de la commande Coller ou clic de souris sur la commande Coller d’un menu contextuel). Clipboard.getData()
ne renvoie le contenu du presse-papiers que si InteractiveObject a reçu et exécute un événement coller. En aucun autre cas, l’appel à Clipboard.getData()
ne peut échouer. La même restriction s’applique dans le contenu AIR qui se trouve en dehors du sandbox de l’application.
L’objet generalClipboard
est créé automatiquement. Vous ne pouvez pas affecter une autre occurrence Clipboard à cette propriété. Vous pouvez par contre utiliser les méthodes getData()
et setData()
pour lire et écrire des données dans l’objet existant.
Il est toujours préférable d’effacer le presse-papiers avant d’y écrire de nouvelles données afin de s’assurer que les anciennes données de tous les formats sont effacées.
Il est impossible de transmettre l’objet generalClipboard
à la classe NativeDragManager d’AIR. Créez un nouvel objet Clipboard pour les opérations de glisser-déposer natives dans une application AIR.
Implémentation
public static function get generalClipboard():Clipboard
Exemple ( Comment utiliser cet exemple )
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 | propriété |
Clipboard | () | Constructeur |
public function Clipboard()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Crée un objet Clipboard vide.
Créez des objets Clipboard permettant de contenir les données d’un mouvement de glisser-déposer natif dans Adobe AIR. Les objets Clipboard ne peuvent être utilisés que pour un seul mouvement de glisser-déposer. Il est impossible de les réutiliser.
Ne créez pas un objet Clipboard pour les opérations de copier-coller. Utilisez plutôt l’objet unique Clipboard.generalClipboard
.
Valeur émise
IllegalOperationError — new Clipboard() n’est pas pris en charge dans Flash Player, car seul le presse-papiers du système d’exploitation peut être utilisé dans Flash Player. Pour les opérations de copier-coller impliquant le presse-papiers du système d’exploitation, utilisez l’objet Clipboard.generalClipboard au lieu de créer un nouvel objet Clipboard. Ne renvoie pas d’erreur dans une application AIR.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
Remarque : pour les opérations de copier-coller impliquant le presse-papiers du système d’exploitation, utilisez l’objet Clipboard.generalClipboard
au lieu de créer un nouveau presse-papiers.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | méthode |
public function clear():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Supprime toutes les représentations de données dans cet objet Clipboard.
Valeur émise
SecurityError — L’appel de generalClipboard.clear() n’est pas autorisé dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
|
Exemple ( Comment utiliser cet exemple )
Clipboard.generalClipboard.clear();
clearData | () | méthode |
public function clearData(format:String):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Supprime la représentation des données au format spécifié.
Paramètres
format:String — Format des données à supprimer.
|
Valeur émise
SecurityError — L’appel de generalClipboard.clearData() n’est pas autorisé dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
|
Exemple ( Comment utiliser cet exemple )
ClipboardFormats.TEXT_FORMAT
dans le presse-papiers du système :
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | méthode |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Récupère les données du presse-papiers si elles sont présentes au format spécifié.
Avec Flash Player, la méthode getData()
doit être appelée dans un gestionnaire d’événement paste
. Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
Lors d’un accès à un format de données standard, les données sont renvoyées sous forme de nouvel objet de type correspondant.
Lors d’un accès à un format défini par l’application, la valeur du paramètre transferMode
détermine si une référence à l’objet original ou un objet anonyme contenant une copie sérialisée de l’objet original est renvoyé. Lorsqu’un mode originalPreferred
ou clonePreferred
est spécifié, Flash Player ou AIR renvoie l’autre version lorsque la version favorite n’est pas disponible. Lorsqu’un mode originalOnly
ou cloneOnly
est spécifié, Flash Player ou AIR renvoie null
lorsque la version demandée n’est pas disponible.
Paramètres
format:String — Format des données à renvoyer. La chaîne de format peut contenir l’un des noms standard définis dans la classe ClipboardFormats ou un nom défini par l’application.
| |
transferMode:String (default = "originalPreferred ") — Indique si une référence ou une copie sérialisée doit être renvoyée lors d’un accès à un format de données défini par l’application. La valeur doit être l’un des noms définis dans la classe ClipboardTransferMode. Cette valeur est ignorée pour les formats de données standard ; une copie est toujours renvoyée.
|
Object — Objet dont le type correspond au format des données.
|
Valeur émise
Error — transferMode n’est pas l’un des noms définis dans la classe ClipboardTransferMode.
| |
IllegalOperationError — L’objet Clipboard demandé n’est plus dans le domaine (AIR uniquement).
| |
SecurityError — La lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode ne réussit que lors du traitement d’un événement paste . Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | méthode |
public function hasFormat(format:String):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Vérifie si des données sont présentes au format spécifié dans cet objet Clipboard.
Utilisez les constantes dans la classe ClipboardFormats pour référencer les noms de format standard.
Paramètres
format:String — Type de format à vérifier.
|
Boolean — true , si des données sont présentes au format spécifié.
|
Valeur émise
IllegalOperationError — L’objet Clipboard sollicité ne se trouve plus dans le domaine.
| |
SecurityError — La lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | méthode |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Ajoute une représentation des informations à transférer dans le format de données spécifié.
Dans le sandbox de l’application d’Adobe AIR, setData()
peut être appelée à tout moment. Dans d’autres contextes, setData()
ne peut être appelée qu’en réponse à un événement généré par l’utilisateur, notamment lorsque celui-ci appuie sur une touche ou clique sur la souris.
Différentes représentations des mêmes informations peuvent être ajoutées au Presse-papiers dans divers formats. Ceci augmente la capacité des autres composants ou applications à exploiter les données disponibles. Par exemple, une image peut être ajoutée sous forme de données bitmap pour une utilisation dans des applications de retouche d’images, sous forme d’URL, et sous forme de fichier PNG codé pour un transfert vers le système de fichiers natif.
Le paramètre data doit être du type de données approprié pour le format spécifié :
Format | Type | Description |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | Données de chaîne |
ClipboardFormats.HTML_FORMAT | String | Données de chaîne HTML |
ClipboardFormats.URL_FORMAT | String | Chaîne URL (AIR uniquement) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | Données RTF |
ClipboardFormats.BITMAP_FORMAT | BitmapData | données bitmap (AIR uniquement) |
ClipboardFormats.FILE_LIST_FORMAT | Tableau de File | tableau de fichiers (AIR uniquement) |
Nom de format personnalisé | Tous | Référence d’objet et clone sérialisé |
Les noms de format personnalisé ne doivent pas commencer par « air: » ou « flash: ». Pour éviter les conflits de noms lorsque vous utilisez des formats personnalisés, vous pouvez utiliser l’ID de votre application ou un nom de package comme préfixe, par exemple « com.nomApplication.exemple.dataPacket ».
Dans le cas d’un transfert au sein d’une application ou entre applications, le paramètre serializable
détermine si une référence et une copie doivent toutes deux être disponibles ou si seule une référence à un objet est disponible. Définissez serializable
sur true
pour que la référence et une copie de l’objet de données soient disponibles. Définissez serializable
sur false
pour que seule la référence de l’objet soit disponible. Les références d’objet n’étant valides que dans l’application en cours, le fait de définir serializable
sur false
implique également que les données de ce format ne soient pas disponibles pour les autres applications AIR ou Flash Player. Un composant peut choisir d’obtenir la référence ou la copie de l’objet en définissant le mode de transfert du presse-papiers approprié lors de l’accès aux données de ce format.
Remarque : les formats standard étant toujours convertis en formats natifs lorsque les données sont collées ou déplacées hors d’une application prise en charge, la valeur du paramètre serializable
n’a aucune incidence sur la disponibilité des données aux formats standard pour les applications non Flash.
Pour différer le rendu des données pour un format, utilisez plutôt la méthode setDataHandler()
. Si les méthodes setData()
et setDataHandler()
sont toutes deux utilisées pour ajouter une représentation de données avec le même nom de format, la fonction du gestionnaire n’est jamais appelée.
Remarque : sous Mac OS, lorsque vous définissez le paramètre format
sur ClipboardFormats.URL_FORMAT
, l’URL n’est transférée que s’il s’agit d’une URL valide. Dans le cas contraire, l’objet Clipboard est vidé (et l’appel de getData()
renvoie null
).
Paramètres
format:String — Format des données.
| |
data:Object — Informations à ajouter.
| |
serializable:Boolean (default = true ) — Définissez true pour les objets qui ne peuvent pas être sérialisés (ni désérialisés).
|
Boolean — true si les données ont bien été définies ; false dans le cas contraire. Dans Flash Player, renvoie false lorsque format est un membre non pris en charge de ClipboardFormats. (Flash Player ne prend pas en charge ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT ou ClipboardFormats.BITMAP_FORMAT ).
|
Valeur émise
IllegalOperationError — L’objet Clipboard sollicité ne se trouve plus dans le domaine (ce qui risque de se produire avec les Presse-papiers créés pour les opérations de glisser-déposer).
| |
SecurityError — La lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
| |
TypeError — format ou data est null .
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
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 | () | méthode |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.0 |
Ajoute une référence à une fonction de gestionnaire qui produit les données à transférer.
Utilisez une fonction de gestionnaire pour différer la création ou le rendu des données jusqu’à ce l’utilisateur y accèdent réellement.
La fonction du gestionnaire doit renvoyer le type de données approprié pour le format spécifié :
Format | Type renvoyé |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | Chaîne (AIR uniquement) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (AIR uniquement) |
ClipboardFormats.FILE_LIST_FORMAT | Tableau de File (AIR uniquement) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | Tableau de File (AIR uniquement) |
Nom de format personnalisé | Non Void |
La fonction de gestionnaire n’est appelée que lorsque les données au format spécifié sont lues, et seulement à ce moment-là. Notez que dans certains cas, le système d’exploitation appelle la fonction avant qu’un dépôt ne se produise. Par exemple, lorsque vous utilisez une fonction de gestionnaire pour fournir des données à un fichier déplacé depuis une application AIR vers le système de fichiers, le système d’exploitation appelle la fonction de gestionnaire des données dès que le mouvement de glissement quitte l’application AIR, ce qui résulte généralement en une pause indésirable lors du téléchargement ou de la création des données du fichier. Vous pouvez pour cela utiliser une classe URLFilePromise.
Notez que les données sous-jacentes peuvent changer entre le moment où le gestionnaire est ajouté et le moment où les données sont lues, sauf si votre application prend des mesures pour protéger les données. Le comportement qui se produit lorsque les données du presse-papier représentées par une fonction du gestionnaire sont lues plusieurs fois n’est pas garanti. Le Presse-papiers peut renvoyer les données produites par le premier appel de la fonction ou rappeler la fonction. Ne comptez pas sur ces comportements.
Dans le sandbox de l’application d’Adobe AIR, setDataHandler()
peut être appelée à tout moment. Dans d’autres contextes, setDataHandler()
ne peut être appelée qu’en réponse à un événement généré par l’utilisateur, notamment lorsque celui-ci appuie sur une touche ou clique sur la souris.
Pour ajouter directement des données dans cet objet Clipboard, utilisez plutôt la méthode setData()
. Si les méthodes setData()
et setDataHandler()
sont toutes deux appelées par le même nom de format, la fonction du gestionnaire n’est jamais appelée.
Remarque : sous Mac OS, lorsque vous définissez le paramètre format
sur ClipboardFormats.URL_FORMAT
, l’URL n’est transférée que s’il s’agit d’une URL valide. Dans le cas contraire, l’objet Clipboard est vidé (et l’appel de getData()
renvoie null
).
Paramètres
format:String — Fonction qui renvoie les données à transférer.
| |
handler:Function — Format des données.
| |
serializable:Boolean (default = true ) — Spécifiez true si l’objet renvoyé par handler peut être sérialisé (et désérialisé).
|
Boolean — true si le gestionnaire a bien été défini ; false dans le cas contraire.
|
Valeur émise
TypeError — format ou handler est null .
| |
IllegalOperationError — L’objet Clipboard demandé n’est plus dans le domaine (AIR uniquement).
| |
SecurityError — La lecture ou l’écriture dans le presse-papiers n’est plus autorisée dans ce contexte. Dans Flash Player, l’appel de cette méthode n’aboutit que lors du traitement d’un événement utilisateur (pression de touche ou clic de souris, par exemple). Dans AIR, cette restriction s’applique uniquement au contenu s’exécutant hors du sandbox de sécurité de l’application.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Ecrivez les données, dans ce cas une chaîne, dans
Clipboard.generalClipboard
. - Lisez le contenu du presse-papiers dans
Clipboard.generalClipboard
.
Remarque : en raison des restrictions d’accès aux données du Presse-papiers, cet exemple ne fonctionne pas dans Flash Player. Dans Flash Player, vous ne pouvez appeler que la méthode getData()
de l’objet Presse-papiers dans un gestionnaire d’événement paste
.
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, 09:30 AM Z