Paket | flash.desktop |
Klass | public class Clipboard |
Arv | Clipboard Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
generalClipboard
.
Ett Clipboard-objekt kan innehålla samma information i fler än ett format. Genom att ange information i flera format ökar du chanserna till att ett annat program kan använda informationen. Lägg till data i ett Clipboard-objekt med någon av metoderna setData()
eller setDataHandler()
.
Standardformaten är:
- BITMAP_FORMAT: ett BitmapData-objekt (endast AIR)
- FILE_LIST_FORMAT: en array med filobjekt (endast AIR)
- HTML_FORMAT: HTML-formaterade strängdata
- TEXT_FORMAT: strängdata
- RICH_TEXT_FORMAT: en ByteArray som innehåller RTF-data
- URL_FORMAT: en URL-sträng (endast AIR)
Dessa konstanter för namn på standardformat definieras i ClipboardFormats-klassen.
När en överföring till eller från operativsystemet sker, översätts standardformaten automatiskt mellan datatyperna ActionScript och operativsystemets urklippstyper.
Du kan använda programdefinierade format för att lägga till ActionScript-objekt i ett Clipboard-objekt. Om ett objekt kan serialiseras kan både en referens och en klon av objektet göras tillgängliga. Objektreferenser är endast giltiga inom originalprogrammet.
När det är resurskrävande att konvertera den information som ska överföras till ett visst format kan du ange namnet på en funktion som utför konverteringen. Funktionen anropas bara om det formatet läses av den mottagande komponenten eller programmet. Lägg till en fördröjd återgivningsfunktion i ett Clipboard-objekt med metoden setDataHandler()
. Tänk på att i en del fall anropar operativsystemet funktionen innan en släppning sker. Om du till exempel använder en hanterarfunktion för att tillhandahålla data för en fil som dras från ett AIR-program till filsystemet, anropar operativsystemet datahanterarfunktionen så snart dragningsgesten lämnar AIR-programmet. Detta ger oftast upphov till en oönskad paus när fildata hämtas eller skapas.
Observera för AIR-program: Objektet i Urklipp som refereras av de händelseobjekt som skickas för HTML dra och släpp- och kopiera och klistra in-händelser är inte av samma typ som AIR Clipboard-objektet. Urklippsobjekt i JavaScript beskrivs i utvecklarhandboken för AIR.
Observera för Flash Player-program: I Flash Player 10 kräver en inklistringsåtgärd från Urklipp först en användarhändelse (som ett kortkommando för kommandot Klistra in eller en musklickning på kommandot Klistra in i en snabbmeny). Clipboard.getData()
returnerar bara innehållet i Urklipp om InteractiveObject har tagits emot och används i en inklistringshändelse. Det går inte att anropa Clipboard.getData()
under andra omständigheter. Samma begränsning gäller i AIR för innehåll som finns utanför programsandlådan.
I Linux kvarstår inte urklippsdata när ett AIR-program stängs.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
formats : Array [skrivskyddad]
En matris med strängar med namnen på de dataformat som är tillgängliga i det här Clipboard-objektet. | Clipboard | ||
generalClipboard : Clipboard [statisk] [skrivskyddad]
Operativsystemets Urklipp. | Clipboard | ||
supportsFilePromise : Boolean [skrivskyddad]
Visar om urklippsformatet för fillöftet stöds på klientsystemet. | Clipboard |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett tomt Clipboard-objekt. | Clipboard | ||
Tar bort alla datarepresentationer från det här Clipboard-objektet. | Clipboard | ||
Tar bort datarepresentationen för det angivna formatet. | Clipboard | ||
Hämtar urklippsdata, om det finns data i det angivna formatet. | Clipboard | ||
Kontrollerar om det finns data i angivet format i det här Clipboard-objektet. | Clipboard | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Lägger till en representation av den information som ska överföras i det angivna dataformatet. | Clipboard | ||
Lägger till en referens till en hanterarfunktion som producerar de data som ska överföras. | Clipboard | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object |
formats | egenskap |
formats:Array
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
En matris med strängar med namnen på de dataformat som är tillgängliga i det här Clipboard-objektet.
Strängkonstanter för namn på standardformat definieras i ClipboardFormats-klassen. Andra programdefinierade strängar kan också användas som formatnamn för överföringsdata som ett objekt.
Implementering
public function get formats():Array
Relaterade API-element
Exempel ( Så här använder du exemplet )
formats
-matrisen för systemets Urklipp:
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | egenskap |
generalClipboard:Clipboard
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Operativsystemets Urklipp.
Alla data som klistras in i systemets Urklipp är tillgängliga för andra program. Detta kan även omfatta osäker fjärrkod i en webbläsare.
Obs! I Flash Player 10-program, kräver en inklistringsåtgärd från Urklipp först en användarhändelse (som ett kortkommando för kommandot Klistra in eller en musklickning på kommandot Klistra in i en snabbmeny). Clipboard.getData()
returnerar bara innehållet i Urklipp om InteractiveObject har tagits emot och används i en inklistringshändelse. Det går inte att anropa Clipboard.getData()
under andra omständigheter. Samma begränsning gäller i AIR för innehåll som finns utanför programsandlådan.
generalClipboard
-objektet skapas automatiskt. Du kan inte tilldela den här egenskapen en annan instans av ett urklipp. I stället kan du använda metoderna getData()
och setData()
för att läsa och skriva data till det befintliga objektet.
Du bör alltid rensa Urklipp innan du skriver nya data dit för att säkerställa att gamla data i alla format tas bort.
Ett generalClipboard
-objekt kan inte skickas till NativeDragManager i AIR. Skapa ett nytt Clipboard-objekt för inbyggda dra och släpp-åtgärder i ett AIR-program.
Implementering
public static function get generalClipboard():Clipboard
Exempel ( Så här använder du exemplet )
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 | egenskap |
Clipboard | () | Konstruktor |
public function Clipboard()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Skapar ett tomt Clipboard-objekt.
Skapa Clipboard-objekt för data från en inbyggd dra och släpp-gest i Adobe AIR. Ett Clipboard-objekt kan bara användas för en enda dra och släpp-gest. Du kan inte återanvända det.
Skapa inte Clipboard-objekt för kopierings- och inklistringsåtgärder. Använd då ett Clipboard.generalClipboard
-objekt i stället.
Utlöser
IllegalOperationError — new Clipboard() stöds inte i Flash Player eftersom det bara är operativsystemets Urklipp som kan användas i Flash Player. Använd Clipboard.generalClipboard-objektet, i stället för att skapa ett nytt urklipp, för dra och släpp-åtgärder som rör operativsystemets Urklipp. Orsakar inget fel i ett AIR-program.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
Obs! Använd Clipboard.generalClipboard
-objektet, i stället för att skapa ett nytt urklipp, för dra och släpp-åtgärder som rör operativsystemets Urklipp.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | metod |
public function clear():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Tar bort alla datarepresentationer från det här Clipboard-objektet.
Utlöser
SecurityError — Anrop till generalClipboard.clear() tillåts inte i det här sammanhanget. I Flash Player kan du endast anropa den här metoden under bearbetning av en användarhändelse (som en tangenttryckning eller ett musklick). I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
|
Exempel ( Så här använder du exemplet )
Clipboard.generalClipboard.clear();
clearData | () | metod |
public function clearData(format:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Tar bort datarepresentationen för det angivna formatet.
Parametrar
format:String — Det dataformat som ska tas bort.
|
Utlöser
SecurityError — Anrop till generalClipboard.clearData() tillåts inte i det här sammanhanget. I Flash Player kan du endast anropa den här metoden under bearbetning av en användarhändelse (som en tangenttryckning eller ett musklick). I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
|
Exempel ( Så här använder du exemplet )
ClipboardFormats.TEXT_FORMAT
från systemets Urklipp:
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | metod |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Hämtar urklippsdata, om det finns data i det angivna formatet.
För Flash Player krävs att getData()
anropas i en paste
-händelsehanterare. I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
När ett standarddataformat läses returneras data som ett nytt objekt för motsvarande Flash-datatyp.
När ett programdefinierat dataformat läses avgör värdet på parametern transferMode
om en referens till originalobjektet eller ett anonymt objekt med en serialiserad kopia av originalobjektet returneras. När läget originalPreferred
eller clonePreferred
har angetts returnerar Flash Player eller AIR den alternativa versionen om den önskade versionen inte är tillgänglig. När läget originalOnly
eller cloneOnly
har angetts returnerar Flash Player eller AIR null
om den önskade versionen inte är tillgänglig.
Parametrar
format:String — Det dataformat som ska returneras. Formatsträngen kan innehålla ett av de standardnamn som definieras i ClipboardFormats-klassen eller ett programdefinierat namn.
| |
transferMode:String (default = "originalPreferred ") — Anger om en referens eller serialiserad kopia ska returneras när ett programdefinierat dataformat läses. Värdet måste vara ett av de namn som definieras i ClipboardTransferMode-klassen. Värdet ignoreras för standarddataformat, men en kopia returneras alltid.
|
Object — Ett objekt av den typ som motsvarar dataformatet.
|
Utlöser
Error — transferMode är inte ett av de namn som har definierats i klassen ClipboardTransferMode.
| |
IllegalOperationError — Det begärda Urklipp-objektet finns inte längre i omfånget (endast AIR).
| |
SecurityError — Det är inte tillåtet att läsa från eller skriva till Urklipp i den här kontexten. I Flash Player kan du bara anropa den här metoden när en paste -händelse bearbetas. I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | metod |
public function hasFormat(format:String):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Kontrollerar om det finns data i angivet format i det här Clipboard-objektet.
Använd konstanterna i ClipboardFormats-klassen om du vill referera till standardformatnamn.
Parametrar
format:String — Den formattyp som ska kontrolleras.
|
Boolean — true , om det finns data i det angivna formatet.
|
Utlöser
IllegalOperationError — Det begärda Urklipp-objektet finns inte längre i omfånget.
| |
SecurityError — Det är inte tillåtet att läsa från eller skriva till Urklipp i den här kontexten.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | metod |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Lägger till en representation av den information som ska överföras i det angivna dataformatet.
setData()
kan anropas när som helst i programsandlådan i Adobe AIR. I andra kontext kan setData()
bara anropas som svar på en användargenererad händelse, t.ex. en tangenttryckning eller ett musklick.
Olika representationer av samma information kan läggas till i Urklipp med olika format, vilket ökar möjligheten för andra komponenter och program att kunna använda den tillgängliga informationen. Du kan t.ex. lägga till en bild som bitmappsdata för bildredigeringsprogram, som en URL och som en kodad PNG-fil för överföring till det underliggande filsystemet.
Dataparametern måste ha rätt datatyp för det angivna formatet:
Format | Typ | Beskrivning |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | strängdata |
ClipboardFormats.HTML_FORMAT | String | HTML-strängdata |
ClipboardFormats.URL_FORMAT | String | URL-sträng (endast AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | RTF-data |
ClipboardFormats.BITMAP_FORMAT | BitmapData | bitmappsdata (endast AIR) |
ClipboardFormats.FILE_LIST_FORMAT | File -matris | en array med filer (endast AIR) |
Anpassat formatnamn | alla | objektreferens och serialiserad klon |
Anpassade formatnamn får inte börja på "air:" eller "flash:". För att förhindra namnkonflikter när du använder anpassade format kan du använda program-ID:t eller ett paketnamn som ett prefix för formatet, t.ex. ”com.exempel.programNamn.dataPaket”.
Vid överföring inom eller mellan program avgör parametern serializable
om både en referens och en kopia är tillgängliga eller om bara en referens till ett objekt är tillgänglig. Ange serializable
till true
om du vill att både referensen och kopian av dataobjektet ska vara tillgängliga. Ange serializable
till false
om du vill att bara objektreferensen ska vara tillgänglig. Objektreferenser är bara giltiga inom det aktuella programmet. Det innebär, att om du anger serializable
till false
är data i det formatet inte tillgängliga för andra Flash Player- eller AIR-program. En komponent kan välja att hämta referensen eller kopian av objektet genom att ange lämpligt urklippsöverföringsläge när data för det formatet läses.
Obs! Standardformaten konverteras alltid till det ursprungliga formatet när data klistras in eller dras utanför ett program som stöds, så värdet på parametern serializable
påverkar inte tillgängligheten för data i standardformat för icke-Flash-baserade program.
Om du vill fördröja dataåtergivningen för ett format använder du metoden setDataHandler()
i stället. Om både setData()
-metoden och setDataHandler()
-metoden används för att lägga till en datarepresentation med samma formatnamn anropas hanterarfunktionen aldrig.
Obs! När du ställer in parametern format
på ClipboardFormats.URL_FORMAT
i Mac OS överförs bara en URL om den är giltig. I annat fall töms Clipboard-objektet (och anrop av getData()
returnerar null
).
Parametrar
format:String — Dataformatet.
| |
data:Object — Den information som ska läggas till.
| |
serializable:Boolean (default = true ) — Ange true för objekt som kan serialiseras (och avserialiseras).
|
Boolean — true om data har angetts, i annat fall false . I Flash Player returneras false om formatet är en medlem i ClipboardFormats som inte stöds. (Flash Player har inte stöd för ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT och ClipboardFormats.BITMAP_FORMAT ).
|
Utlöser
IllegalOperationError — Det begärda Urklipp-objektet finns inte längre i omfånget (det kan inträffa för urklipp som skapats för dra och släpp-åtgärder).
| |
SecurityError — Det är inte tillåtet att läsa från eller skriva till Urklipp i den här kontexten. I Flash Player kan du endast anropa den här metoden under bearbetning av en användarhändelse (som en tangenttryckning eller ett musklick). I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
| |
TypeError — format eller data är null .
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.0 |
Lägger till en referens till en hanterarfunktion som producerar de data som ska överföras.
Använd en hanterarfunktion för att fördröja att data skapas eller återges tills de faktiskt begärs.
Hanterarfunktionen måste returnera rätt datatyp för det angivna formatet:
Format | Returtyp |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | String (endast AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (endast AIR) |
ClipboardFormats.FILE_LIST_FORMAT | En array med filer (endast AIR). |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | En array med filer (endast AIR). |
Anpassat formatnamn | Inte tom |
Hanterarfunktionen anropas bara när, och endast när, data i det angivna formatet läses. Tänk på att i en del fall anropar operativsystemet funktionen innan en släppning sker. Om du till exempel använder en hanterarfunktion för att tillhandahålla data för en fil som dras från ett AIR-program till filsystemet, anropar operativsystemet datahanterarfunktionen så snart dragningsgesten lämnar AIR-programmet. Detta ger oftast upphov till en oönskad paus när fildata hämtas eller skapas. Du kan använda en URLFilePromise för detta i stället.
Tänk på att underliggande data kan ändras mellan den tidpunkt då hanteraren läggs till och den tidpunkt då data läses, om inte programmet skyddar informationen på något sätt. De beteenden garanteras inte som kan uppstå om data i Urklipp som representeras av en hanterarfunktion läses mer än en gång. Urklipp kan returnera data som producerades vid det första funktionsanropet eller anropa funktionen på nytt. Förlita dig inte på något av beteendena.
setDataHandler()
kan anropas när som helst i programsandlådan i Adobe AIR. I andra kontext kan setDataHandler()
bara anropas som svar på en användargenererad händelse, t.ex. en tangenttryckning eller ett musklick.
Om du vill lägga till data direkt i det här Clipboard-objektet använder du setData()
-metoden i stället. Om båda metoderna setData()
och setDataHandler()
anropas med samma formatnamn anropas aldrig hanterarfunktionen.
Obs! När du ställer in parametern format
på ClipboardFormats.URL_FORMAT
i Mac OS överförs bara en URL om hanterarfunktionen returnerar en giltig URL. I annat fall töms Clipboard-objektet (och anrop av getData()
returnerar null
).
Parametrar
format:String — En funktion som returnerar de data som ska överföras.
| |
handler:Function — Dataformatet.
| |
serializable:Boolean (default = true ) — Ange som true om det objekt som returneras av handler kan serialiseras (och avserialiseras).
|
Boolean — true om hanteraren har angetts, i annat fall false .
|
Utlöser
TypeError — format eller handler är null .
| |
IllegalOperationError — Det begärda Urklipp-objektet finns inte längre i omfånget (endast AIR).
| |
SecurityError — Det är inte tillåtet att läsa från eller skriva till Urklipp i den här kontexten. I Flash Player kan du endast anropa den här metoden under bearbetning av en användarhändelse (som till exempel en tangenttryckning eller ett musklick). I AIR gäller den här begränsningen endast för innehåll utanför programsäkerhetssandlådan.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Skriv data (i det här fallet en sträng) till
Clipboard.generalClipboard
. - Läs innehållet i Urklipp från
Clipboard.generalClipboard
.
Obs! På grund av säkerhetsbegränsningar för åtkomst till urklippsdata fungerar inte det här exemplet i Flash Player. I Flash Player kan du bara anropa metoden getData()
för urklippsobjektet i en paste
-händelsehanterare.
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, 01:40 PM Z