Pacchetto | flash.desktop |
Classe | public class Clipboard |
Ereditarietà | Clipboard Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
generalClipboard
.
Un oggetto Clipboard può contenere le stesse informazioni in più di un formato. Fornendo informazioni in più formati, potete incrementare le possibilità che un'altra applicazione sia in grado di utilizzare tali informazioni. Per aggiungere dati a un oggetto Clipboard, potete utilizzare il metodo setData()
o setDataHandler()
.
I formati standard sono:
- BITMAP_FORMAT: un oggetto BitmapData (solo AIR)
- FILE_LIST_FORMAT: un array di oggetti File (solo AIR)
- HTML_FORMAT: dati stringa in formato HTML
- TEXT_FORMAT: dati stringa
- RICH_TEXT_FORMAT: un oggetto ByteArray contenente dati in formato RTF
- URL_FORMAT: una stringa URL (solo AIR)
Queste costanti relative ai nomi dei formati standard sono definite nella classe ClipboardFormats.
Quando si verifica un trasferimento da e verso il sistema operativo, i formati standard vengono convertiti automaticamente tra i tipi di dati ActionScript e i tipi clipboard nativi del sistema operativo.
Per aggiungere oggetti ActionScript a un oggetto Clipboard, potete utilizzare i formati definiti dall'applicazione. Se un oggetto è serializzabile, potete rendere disponibile sia un riferimento che un clone dell'oggetto. I riferimenti agli oggetti sono validi solo all'interno dell'applicazione di origine.
Se la conversione in un particolare formato delle informazioni da trasferire risulta eccessivamente impegnativa, potete fornire il nome di una funzione che esegua tale conversione. La funzione viene chiamata se, e solo se, il formato viene letto dal componente o dall'applicazione di destinazione. Aggiungete una funzione di rendering differito a un oggetto Clipboard con il metodo setDataHandler()
. Notate che in alcuni casi il sistema operativo chiama la funzione prima che si verifichi un evento drop. Quando utilizzate, ad esempio, una funzione del gestore per fornire i dati di un file trascinato da un’applicazione AIR nel file system, il sistema operativo chiama la funzione del gestore di dati non appena l’operazione di trascinamento viene completata nell’applicazione AIR. Ciò causa solitamente una pausa indesiderabile durante lo scaricamento o la creazione dei dati del file.
Nota per le applicazioni AIR: l'oggetto clipboard a cui fanno riferimento gli oggetti evento inviati per gli eventi HTML di trascinamento e rilascio e di copia e incolla non è dello stesso tipo dell'oggetto Clipboard di AIR. L'oggetto clipboard JavaScript è descritto nella guida per gli sviluppatori di AIR.
Nota per le applicazioni Flash Player: in Flash Player 10, un'operazione Incolla dagli Appunti richiede innanzitutto un evento utente (una scelta rapida da tastiera per il comando Incolla o un clic del mouse sul comando Incolla del menu di scelta rapida). Clipboard.getData()
restituisce il contenuto degli Appunti solo se InteractiveObject ha ricevuto e agisce su un evento incolla. La chiamata a Clipboard.getData()
avrà esito negativo in qualsiasi altra circostanza. La stessa limitazione vale in AIR per i contenuti al di fuori della sandbox di sicurezza dell'applicazione.
In Linux, i dati degli Appunti non sono persistenti quando un'applicazione AIR viene chiusa.
Altri esempi
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
formats : Array [sola lettura]
Un array di stringhe contenente i nomi di tutti i formati dati disponibili in questo oggetto Clipboard. | Clipboard | ||
generalClipboard : Clipboard [statico] [sola lettura]
Gli Appunti del sistema operativo. | Clipboard | ||
supportsFilePromise : Boolean [sola lettura]
Indica se il formato Appunti di promessa file è supportato nel sistema client. | Clipboard |
Metodo | Definito da | ||
---|---|---|---|
Crea un oggetto Clipboard vuoto. | Clipboard | ||
Elimina tutte le rappresentazioni di dati da questo oggetto Clipboard. | Clipboard | ||
Elimina la rappresentazione di dati per il formato specificato. | Clipboard | ||
Ottiene i dati degli Appunti se sono presenti dati nel formato specificato. | Clipboard | ||
Controlla se i dati nel formato specificato esistono in questo oggetto Clipboard. | Clipboard | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Aggiunge una rappresentazione delle informazioni da trasferire nel formato dati specificato. | Clipboard | ||
Aggiunge un riferimento alla funzione del gestore che produce i dati da trasferire. | Clipboard | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
formats | proprietà |
formats:Array
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Un array di stringhe contenente i nomi di tutti i formati dati disponibili in questo oggetto Clipboard.
Le costanti di stringa relative ai nomi dei formati standard sono definite nella classe ClipboardFormats. Per trasferire i dati come oggetto, potete usare anche altre stringhe, definite dall'applicazione, come nomi di formato.
Implementazione
public function get formats():Array
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
formats
degli Appunti del sistema operativo:
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | proprietà |
generalClipboard:Clipboard
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Gli Appunti del sistema operativo.
Tutti di dati incollati negli Appunti del sistema operativo sono accessibili da altre applicazioni. Tali dati possono includere codice remoto non protetto in esecuzione su un browser web.
Nota: nelle applicazioni Flash Player 10, un'operazione Incolla dagli Appunti richiede prima un evento utente (una scorciatoia da tastiera per il comando Incolla o un clic del mouse sul comando Incolla del menu di scelta rapida). Clipboard.getData()
restituisce il contenuto degli Appunti solo se InteractiveObject ha ricevuto e agisce su un evento incolla. La chiamata a Clipboard.getData()
avrà esito negativo in qualsiasi altra circostanza. La stessa limitazione vale in AIR per i contenuti al di fuori della sandbox di sicurezza dell'applicazione.
L'oggetto generalClipboard
viene creato automaticamente. Non potete assegnare un'altra istanza dell'oggetto Clipboard a questa proprietà. In alternativa potete usare i metodi getData()
e setData()
per leggere e scrivere dati sull'oggetto esistente.
Ricordate di cancellare sempre gli Appunti prima di scrivere nuovi dati, per fare in modo che i vecchi dati in tutti i formati vengano eliminati.
L'oggetto generalClipboard
non può essere passato a NativeDragManager di AIR. Create un nuovo oggetto Clipboard per le operazioni "trascina e rilascia" native di un'applicazione AIR.
Implementazione
public static function get generalClipboard():Clipboard
Esempio ( Come utilizzare questo esempio )
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 | proprietà |
Clipboard | () | Funzione di costruzione |
public function Clipboard()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Crea un oggetto Clipboard vuoto.
Gli oggetti Clipboard contengono i dati dei gesti "trascina e rilascia" in Adobe AIR. Possono essere utilizzati per un solo gesto "trascina e rilascia" e non possono essere riutilizzati.
Non create un oggetto Clipboard per le operazioni "copia e incolla". Utilizzate invece l'oggetto singolo Clipboard.generalClipboard
a questo scopo.
Genera
IllegalOperationError — new Clipboard() non è supportato in Flash Player, poiché in questa applicazione possono essere utilizzati solo gli Appunti del sistema operativo. Per le operazioni di copia e incolla che coinvolgono gli Appunti del sistema operativo, potete utilizzare l'oggetto Clipboard.generalClipboard anziché creare un nuovo oggetto Clipboard. Non genera un errore in un'applicazione AIR.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
Nota: per le operazioni di copia e incolla che coinvolgono gli Appunti del sistema operativo, potete utilizzare l'oggetto Clipboard.generalClipboard
anziché creare un nuovo oggetto Clipboard.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | metodo |
public function clear():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Elimina tutte le rappresentazioni di dati da questo oggetto Clipboard.
Genera
SecurityError — Una chiamata a generalClipboard.clear() non è consentita in questo contesto. In Flash Player questo metodo può essere chiamato solo durante l'elaborazione di un evento utente (come la pressione di un tasto o il clic del mouse). In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
|
Esempio ( Come utilizzare questo esempio )
Clipboard.generalClipboard.clear();
clearData | () | metodo |
public function clearData(format:String):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Elimina la rappresentazione di dati per il formato specificato.
Parametri
format:String — Il formato dati da rimuovere.
|
Genera
SecurityError — Una chiamata a generalClipboard.clearData() non è consentita in questo contesto. In Flash Player questo metodo può essere chiamato solo durante l'elaborazione di un evento utente (come la pressione di un tasto o il clic del mouse). In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
|
Esempio ( Come utilizzare questo esempio )
ClipboardFormats.TEXT_FORMAT
vengono cancellati dagli Appunti del sistema operativo:
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | metodo |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Ottiene i dati degli Appunti se sono presenti dati nel formato specificato.
Flash Player richiede una chiamata al metodo getData()
in un gestore dell'evento paste
. In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
Quando si accede a un formato dati standard, i dati vengono restituiti come un nuovo oggetto del tipo di dati Flash corrispondente.
Quando viene effettuato l'accesso a un formato definito dall'applicazione, il valore del parametro transferMode
determina se viene restituito un riferimento all'oggetto originale o un oggetto anonimo contenente una copia serializzata dell'oggetto originale. Se viene specificata la modalità originalPreferred
o clonePreferred
, Flash Player o AIR restituisce la versione alternativa se quella preferenziale non è disponibile. Se viene specificata la modalità originalOnly
o cloneOnly
, Flash Player o AIR restituisce il valore null
quando la versione richiesta non è disponibile.
Parametri
format:String — Il formato dei dati da restituire. La stringa del formato può contenere uno dei nomi standard definiti nella classe ClipboardFormats o un nome definito dall'applicazione.
| |
transferMode:String (default = "originalPreferred ") — Specifica se viene restituito un riferimento o una copia serializzata quando viene effettuato l'accesso a un formato dei dati definito dall'applicazione. Il valore deve corrispondere a uno dei nomi definiti nella classe ClipboardTransferMode. Questo valore viene ignorato per i formati di dati standard. Viene restituita sempre una copia.
|
Object — Un oggetto di tipo corrispondente al formato dei dati.
|
Genera
Error — transferMode non è uno dei nomi definiti nella classe ClipboardTransferMode.
| |
IllegalOperationError — L'oggetto Clipboard richiesto non è più nell'area di validità (solo AIR).
| |
SecurityError — In questo contesto non è consentito leggere o scrivere negli Appunti. In Flash Player, potete chiamare questo metodo solo durante l'elaborazione di un evento paste . In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | metodo |
public function hasFormat(format:String):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Controlla se i dati nel formato specificato esistono in questo oggetto Clipboard.
Utilizzate le costanti nella classe ClipboardFormats per fare riferimento ai nomi di formato standard.
Parametri
format:String — Tipo di formato da verificare.
|
Boolean — true , se sono presenti dati nel formato specificato.
|
Genera
IllegalOperationError — L'oggetto Clipboard richiesto non è più nell'area di validità.
| |
SecurityError — In questo contesto non è consentito leggere o scrivere negli Appunti.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | metodo |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Aggiunge una rappresentazione delle informazioni da trasferire nel formato dati specificato.
Nella sandbox dell'applicazione Adobe AIR, potete chiamare setData()
in qualsiasi momento. In altri contesti, setData()
può essere chiamato solo in risposta a un evento generato dall'utente, ad esempio la pressione di un tasto o il clic del mouse.
Potete inserire negli Appunti più rappresentazioni delle stesse informazioni in formati differenti, per incrementare le possibilità che altre applicazioni o altri componenti possano utilizzare tali dati. Un'immagine può essere inserita, ad esempio, sotto forma di dati bitmap per essere utilizzata da applicazioni di elaborazione immagini, come un URL e come file PNG codificato per il trasferimento al file system nativo.
Il parametro data deve corrispondere al tipo di dati appropriato per il formato specificato:
Formato | Tipo | Descrizione |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | Dati stringa |
ClipboardFormats.HTML_FORMAT | String | Dati stringa HTML |
ClipboardFormats.URL_FORMAT | String | Stringa URL (solo AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | Dati RTF |
ClipboardFormats.BITMAP_FORMAT | BitmapData | Dati bitmap (solo AIR) |
ClipboardFormats.FILE_LIST_FORMAT | array of File | Un array di file (solo AIR) |
Nome formato personalizzato | any | Riferimento a oggetto e clone serializzato |
I nomi in formato personalizzato non possono iniziare con "air:" o "flash:". Per evitare conflitti tra i nomi quando si usano i formati personalizzati, potete utilizzare l'ID dell'applicazione o un nome di pacchetto come prefisso del formato, ad esempio, "com.example.applicationName.dataPacket".
Durante i trasferimenti tra applicazioni o al loro interno, il parametro serializable
determina se saranno disponibili sia un riferimento che una copia dell'oggetto o se sarà disponibile solo un riferimento. Impostate serializable
su true
per rendere disponibili sia il riferimento che la copia dell'oggetto dati. Impostate serializable
su false
per rendere disponibile solo il riferimento all'oggetto. I riferimenti agli oggetti sono validi esclusivamente all'interno dell'applicazione corrente, di conseguenza, se impostate serializable
su false
, i dati in tale formato non sono disponibili in altre applicazioni Flash Player o AIR. Un componente può scegliere se richiamare il riferimento o la copia di un oggetto impostando la modalità di trasferimento negli Appunti appropriata quando accede ai dati di tale formato.
Nota: i formati standard vengono sempre convertiti in formati nativi nel momento in cui i dati vengono incollati o trascinati fuori da un'applicazione supportata, di conseguenza, il valore del parametro serializable
non influisce sulla disponibilità dei dati nei formati standard in applicazioni non basate su Flash.
Per differire il rendering dei dati per un formato, utilizzate invece il metodo setDataHandler()
. Se per aggiungere una rappresentazione dei dati con lo stesso nome di formato viene utilizzato sia il metodo setData()
che il metodo setDataHandler()
, la funzione del gestore non verrà mai chiamata.
Nota: in Mac OS, quando impostate il parametro format
su ClipboardFormats.URL_FORMAT
, l'URL viene trasferito solo se è un URL valido. In caso contrario, l'oggetto Clipboard viene svuotato e la chiamata a getData()
restituisce null
.
Parametri
format:String — Il formato dei dati.
| |
data:Object — Le informazioni da aggiungere.
| |
serializable:Boolean (default = true ) — Specificate true per oggetti che possono essere serializzati (e deserializzati).
|
Boolean — true se i dati sono stati impostati, altrimenti false. In Flash Player, restituisce false quando format è un membro non supportato di ClipboardFormats. (Flash Player non supporta ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT o ClipboardFormats.BITMAP_FORMAT ).
|
Genera
IllegalOperationError — L'oggetto Clipboard richiesto non è più nell'area di validità (questo evento può verificarsi con gli oggetti Clipboard creati per le operazioni di trascinamento).
| |
SecurityError — In questo contesto non è consentito leggere o scrivere negli Appunti. In Flash Player questo metodo può essere chiamato solo durante l'elaborazione di un evento utente (come la pressione di un tasto o il clic del mouse). In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
| |
TypeError — format o data è null .
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.0 |
Aggiunge un riferimento alla funzione del gestore che produce i dati da trasferire.
Utilizzate una funzione del gestore per differire la creazione o il rendering dei dati fino a quando non vi si accede.
La funzione del gestore deve restituire il tipo di dati appropriato per il formato specificato:
Formato | Tipo restituito |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | String (solo AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (solo AIR) |
ClipboardFormats.FILE_LIST_FORMAT | Array di File (solo AIR) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | Array di File (solo AIR) |
Nome formato personalizzato | Non vuoto |
La funzione del gestore viene chiamata solo se i dati nel formato specificato vengono letti. Notate che in alcuni casi il sistema operativo chiama la funzione prima che si verifichi un evento drop. Quando utilizzate, ad esempio, una funzione del gestore per fornire i dati di un file trascinato da un’applicazione AIR nel file system, il sistema operativo chiama la funzione del gestore di dati non appena l’operazione di trascinamento viene completata nell’applicazione AIR. Ciò causa solitamente una pausa indesiderabile durante lo scaricamento o la creazione dei dati del file. A questo scopo, potete utilizzare invece URLFilePromise.
Tenete presente che, se l'applicazione utilizzata non provvede a proteggere i dati, i dati sottostanti possono cambiare dal momento in cui il gestore viene aggiunto al momento in cui i dati vengono letti. Il comportamento che si verifica quando non è garantito che i dati negli Appunti rappresentati da una funzione del gestore vengano letti più di una volta. Gli Appunti potrebbero restituire i dati generati dalla prima chiamata alla funzione o chiamare di nuovo la funzione. Non basatevi su l'uno o l'altro comportamento.
Nella sandbox dell'applicazione Adobe AIR, potete chiamare setDataHandler()
in qualsiasi momento. In altri contesti, setDataHandler()
può essere chiamato solo in risposta a un evento generato dall'utente, ad esempio la pressione di un tasto o il clic del mouse.
Per aggiungere dati direttamente a questo oggetto Clipboard, potete invece utilizzare il metodo setData()
. Se sia il metodo setData()
che il metodo setDataHandler()
vengono chiamati con lo stesso nome di formato, la funzione del gestore non viene mai chiamata.
Nota: in Mac OS, quando impostate il parametro format
su ClipboardFormats.URL_FORMAT
, l'URL viene trasferito solo se la funzione del gestore restituisce un URL valido. In caso contrario, l'oggetto Clipboard viene svuotato e la chiamata a getData()
restituisce null
.
Parametri
format:String — Una funzione che restituisce i dati da trasferire.
| |
handler:Function — Il formato dei dati.
| |
serializable:Boolean (default = true ) — Specificate true se gli oggetti restituiti dall'handler possono essere serializzati (e deserializzati).
|
Boolean — true se il gestore è stato impostato, altrimenti false .
|
Genera
TypeError — format o handler è null .
| |
IllegalOperationError — L'oggetto Clipboard richiesto non è più nell'area di validità (solo AIR).
| |
SecurityError — In questo contesto non è consentito leggere o scrivere negli Appunti. In Flash Player questo metodo può essere chiamato solo durante l'elaborazione di un evento utente (come la pressione di un tasto o il clic del mouse). In AIR questa limitazione si applica solo al contenuto al di fuori della sandbox dell'applicazione.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Scrivete i dati, in questo caso una stringa, in
Clipboard.generalClipboard
. - Leggete il contenuto degli Appunti da
Clipboard.generalClipboard
.
Nota: a causa delle limitazioni di sicurezza per l'accesso ai dati degli Appunti, questo esempio non funziona in Flash Player. In Flash Player, potete chiamare solo il metodo getData()
dell'oggetto Clipboard in un gestore dell'evento 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, 02:44 PM Z