Pacote | flash.desktop |
Classe | public class Clipboard |
Herança | Clipboard Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
generalClipboard
.
Um objeto Clipboard pode conter as mesmas informações em mais de um formato. Fornecendo as informações em vários formatos, você aumenta as chances de que outro aplicativo seja capaz de usar essas informações. Adicione os dados a um objeto Clipboard com os métodos setData()
ou setDataHandler()
.
Os formatos padrão são:
- BITMAP_FORMAT: um objeto BitmapData (apenas AIR)
- FILE_LIST_FORMAT: uma matriz de objetos File (somente AIR)
- HTML_FORMAT: dados de string formatados em HTML
- TEXT_FORMAT: dados de string
- RICH_TEXT_FORMAT: ByteArray que contém dados em RTF
- URL_FORMAT: uma string de URL (somente AIR)
Essas constantes para os nomes dos formatos padrão são definidas na classe ClipboardFormats.
Quando uma transferência para ou do sistema operacional ocorre, os formatos padrão são automaticamente convertidos entre tipos de dados ActionScript e os tipos de área de transferência de sistema operacional nativos.
Você pode usar os formatos definidos pelo aplicativo para adicionar objetos ActionScript ao objeto Clipboard. Se um objeto for serializável, a referência e um clone do objeto poderão ser disponibilizados. As referências de objetos só são válidas dentro do aplicativo originador.
Quando, do ponto de vista computacional, for caro converter as informações a serem transferidas para um formato particular, você pode fornecer o nome de uma função que realiza a conversão. A função será chamada se e somente se esse formato for lido pelo componente ou aplicativo recebedor. Adicione uma função de renderização adiada a um objeto Clipboard com o método setDataHandler()
. Observe que em alguns casos, o sistema operacional chama a função antes que uma operação de soltar ocorra. Por exemplo, quando você usa uma função de controlador para fornecer os dados de um arquivo arrastado de um aplicativo de AIR para o sistema de arquivos, o sistema operacional chama a função de controlador de dados logo que o gesto de arrastar deixe o aplicativo normalmente de AIR que resulta em uma pausa indesejável enquanto os dados de arquivo são carregados ou criados.
Observação sobre aplicativos AIR: os objetos da área de transferência referenciados pelos objetos de evento despachados para os eventos HTML de arrastar e soltar e copiar e colar não são iguais ao objeto Clipboard do AIR. O objeto da área de transferência de JavaScript é descrito no guia do desenvolvedor do AIR.
Observação sobre aplicativos Flash Player: no Flash Player 10, a operação de colar da área de transferência requer um evento de usuário (por exemplo, atalho do teclado do comando Colar ou clique do mouse no comando Colar do menu de contexto). Clipboard.getData()
só retornará o conteúdo da área de transferência se InteractiveObject tiver sido recebido e agindo em um evento paste. Em qualquer outra circunstância, chamar Clipboard.getData()
será inútil. A mesma restrição se aplica no AIR ao conteúdo fora da caixa de proteção do aplicativo.
Em Linux, os dados da área de transferência não persistem quando um aplicativo de AIR fecha.
Elementos da API relacionados
Propriedade | Definido por | ||
---|---|---|---|
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
formats : Array [somente leitura]
Uma matriz de strings contendo os nomes dos formatos de dados disponíveis nesse objeto Clipboard. | Clipboard | ||
generalClipboard : Clipboard [estático] [somente leitura]
A área de transferência do sistema operacional. | Clipboard | ||
supportsFilePromise : Boolean [somente leitura]
Indica se o formato de área de transferência de promessa de arquivo é suportado no sistema cliente. | Clipboard |
Método | Definido por | ||
---|---|---|---|
Cria um objeto Clipboard vazio. | Clipboard | ||
Exclui todas as representações de dados do objeto Clipboard. | Clipboard | ||
Exclui a representação de dados para o formato especificado. | Clipboard | ||
Obtém os dados da área de transferência se os dados no formato especifico estiverem presentes. | Clipboard | ||
Verifica se os dados no formato especificado existem no objeto Clipboard. | Clipboard | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Adiciona uma representação das informações a ser transferidas no formato de dados especificado. | Clipboard | ||
Adiciona uma referência a uma função de controlador que produz os dados a serem transferidos. | Clipboard | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object |
formats | propriedade |
formats:Array
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Uma matriz de strings contendo os nomes dos formatos de dados disponíveis nesse objeto Clipboard.
As constantes de string para os nomes dos formatos padrão são definidas na classe Clipboard. Outras strings definidas pelo aplicativo também podem ser usadas como nomes de formato, para transferir dados como um objeto.
Implementação
public function get formats():Array
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
formats
da área de transferência do sistema:
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | propriedade |
generalClipboard:Clipboard
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
A área de transferência do sistema operacional.
Quaisquer dados colados para a área de transferência do sistema ficam disponíveis a outros aplicativos. Isso pode incluir código remoto não seguro sendo executado em um navegador da Web.
Observação: nos aplicativos Flash Player 10, a operação de colar da área de transferência requer um evento de usuário (por exemplo, atalho do teclado do comando Colar ou clique do mouse no comando Colar do menu de contexto). Clipboard.getData()
só retornará o conteúdo da área de transferência se InteractiveObject tiver sido recebido e agindo em um evento paste. Em qualquer outra circunstância, chamar Clipboard.getData()
será inútil. A mesma restrição se aplica no AIR ao conteúdo fora da caixa de proteção do aplicativo.
O objeto generalClipboard
é criado automaticamente. Não é possível atribuir uma outra ocorrência de um Clipboard a essa propriedade. Em vez disso, você pode usar os métodos getData()
e setData()
para ler e gravar dados no objeto existente.
Você deverá sempre limpar a área de transferência antes de gravar novos dados nela para garantir que os dados antigos em todos os formatos sejam apagados.
O objeto generalClipboard
não pode ser passado ao AIR NativeDragManager. Crie um novo objeto de Área de transferência de operações de arrastar e soltar nativas em um aplicativo de AIR.
Implementação
public static function get generalClipboard():Clipboard
Exemplo ( Como usar este exemplo )
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 | propriedade |
Clipboard | () | Construtor |
public function Clipboard()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Cria um objeto Clipboard vazio.
Crie objetos de Área de transferência para manter os dados de um gesto de ação de arrastar e soltar nativo no Adobe AIR. Os objetos de área de transferência podem ser usados somente para um gesto de ação de arrastar e soltar; eles não podem ser reutilizados.
Não crie um objeto de Área de transferência para operações de copiar e colar. Em vez disso, utilize o objeto únicoClipboard.generalClipboard
.
Lança
IllegalOperationError — Não há suporte para new Clipboard() no Flash Player, porque apenas a área de transferência do sistema operacional deve ser usada no Flash Player. Em operações de copiar e colar que envolvam a área de transferência do sistema operacional, use o objeto Clipboard.generalClipboard, em vez de criar um novo objeto Clipboard. Não lança um erro em um aplicativo AIR.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
Observação: Nas operações de copiar e colar envolvendo a área de transferência do sistema, use o objeto Clipboard.generalClipboard
em vez de criar uma nova área de transferência.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | método |
public function clear():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Exclui todas as representações de dados do objeto Clipboard.
Lança
SecurityError — A chamada generalClipboard.clear() não é permitida neste contexto. No Flash Player, você pode chamar esse método com êxito somente durante o processamento de um evento de usuário (por exemplo, pressionamento de tecla ou clique de mouse). No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
|
Exemplo ( Como usar este exemplo )
Clipboard.generalClipboard.clear();
clearData | () | método |
public function clearData(format:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Exclui a representação de dados para o formato especificado.
Parâmetros
format:String — O formato de dados a ser removido.
|
Lança
SecurityError — A chamada de generalClipboard.clearData() não é permitida neste contexto. No Flash Player, você pode chamar esse método com êxito somente durante o processamento de um evento de usuário (por exemplo, pressionamento de tecla ou clique de mouse). No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
|
Exemplo ( Como usar este exemplo )
ClipboardFormats.TEXT_FORMAT
da área de transferência do sistema:
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | método |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Obtém os dados da área de transferência se os dados no formato especifico estiverem presentes.
O Flash Player exige que o método getData()
seja chamado em um gerenciador de eventos paste
. No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
Quando um formato de dados padrão é acessado, os dados são retornados como um novo objeto do tipo Flash correspondente.
Quando um formato definido pelo aplicativo é acessado, o valor do parâmetro transferMode
determina se é retornada uma referência ao objeto original ou um objeto anônimo contendo uma cópia serializada do objeto original. Quando um modo originalPreferred
ou clonePreferred
é especificado, o Flash Player ou AIR retorna a versão alternativa, caso a versão preferida não esteja disponível. Quando um modo originalOnly
ou cloneOnly
é especificado, o Flash Player ou o AIR retorna null
caso a versão solicitada não esteja disponível.
Parâmetros
format:String — O formato de dados a ser retornado. A string de formato pode conter um dos nomes padrão definidos na classe ClipboardFormats, ou um nome definido pelo aplicativo.
| |
transferMode:String (default = "originalPreferred ") — Especifica se deve ser retornada uma referência ou uma cópia serializada quando se acessa um formato de dados definido pelo aplicativo. O valor deve ser um dos nomes definidos na classe ClipboardTransferMode. Esse valor é ignorado nos formatos de dados padrão; uma cópia é sempre retornada.
|
Object — Um objeto do tipo correspondente ao formato de dados.
|
Lança
Error — transferMode não é um dos nomes definidos na classe ClipboardTransferMode.
| |
IllegalOperationError — O objeto Clipboard solicitado não está mais em escopo (somente AIR).
| |
SecurityError — Nesse contexto, não é permitido ler ou gravar na área de transferência. No Flash Player, você só pode chamar este método com sucesso durante o processamento de um evento paste . No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | método |
public function hasFormat(format:String):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Verifica se os dados no formato especificado existem no objeto Clipboard.
Use as constantes na classe ClipboardFormats para fazer referência aos nomes de formato padrão.
Parâmetros
format:String — O tipo de formato a ser verificado.
|
Boolean — true , se os dados no formato especifico estiverem presentes.
|
Lança
IllegalOperationError — O objeto Clipboard solicitado não está mais em escopo.
| |
SecurityError — Nesse contexto, não é permitido ler ou gravar na área de transferência.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | método |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Adiciona uma representação das informações a ser transferidas no formato de dados especificado.
Na área de segurança do aplicativo do Adobe AIR, setData()
pode ser chamado a qualquer momento. Em outros contextos, setData()
só pode ser chamado em resposta a um evento gerado pelo usuário, como um pressionamento de tecla ou clique no mouse.
Representações diferentes das mesmas informações podem ser adicionadas à área de transferência em diferentes formatos, o que aumenta a capacidade de outros componentes ou aplicativos de usar os dados disponíveis. Por exemplo, uma imagem poderia ser adicionada como dados de bitmap para uso por aplicativos de edição de imagem, como um URL e como um arquivo PNG codificado para transferência para o sistema de arquivos nativo.
O parâmetro dos dados deverá ser o tipo de dados apropriado para o formato especificado:
Formato | Tipo | Descrição |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | dados da string |
ClipboardFormats.HTML_FORMAT | String | dados da string HTML |
ClipboardFormats.URL_FORMAT | String | String de URL (somente AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | Dados em RTF |
ClipboardFormats.BITMAP_FORMAT | BitmapData | dados de bitmap (apenas AIR) |
ClipboardFormats.FILE_LIST_FORMAT | matriz de File | uma matriz de arquivos (somente AIR) |
Nome do formato personalizado | qualquer | referência e clone serializado do objeto |
Nomes de formato personalizados não podem iniciar com "air:" ou "flash:". Para evitar colisões de nome ao usar formatos personalizados, talvez você queira usar seu ID de aplicativo ou um nome de pacote como um prefixo para o formato, como "com.example.applicationName.dataPacket".
Na transferência dentro ou entre aplicativos, o parâmetro serializable
determina se uma referência e uma cópia estão disponíveis, ou se somente uma referência a um objeto está disponível. Defina serializable
como true
para disponibilizar a referência e uma cópia do objeto de dados. Defina serializable
como false
para disponibilizar somente a referência do objeto. As referências de objeto só são válidas dentro do aplicativo atual; assim, definir serializable
como false
também significa que os dados nesse formato não estão disponíveis para outro Flash Player ou AIR. Um componente pode preferir obter a referência ou a cópia do objeto definindo o modo de transferência apropriado da área de transferência ao acessar os dados para esse formato.
Observação: os formatos padrão são sempre convertidos para os formatos nativos quando os dados são colados ou arrastados fora de um aplicativo suportado; assim, o valor do parâmetro serializable
não afeta a disponibilidade dos dados nos formatos padrão para os aplicativos não Flash.
Para adiar a renderização dos dados para um formato, use o método setDataHandler()
. Se ambos os métodos setData()
e setDataHandler()
forem usados para adicionar uma representação de dados com o mesmo nome de formato, então, a função do manipulador jamais será chamada.
Observação: No OS Mac, quando você define o parâmetro format
para ClipboardFormats. URL_FORMAT
, o URL só será transferido se for um URL válido. De outra maneira, o objeto de Área de transferência é esvaziado (e chamar getData()
retorna null
).
Parâmetros
format:String — O formato dos dados.
| |
data:Object — As informações a ser adicionadas.
| |
serializable:Boolean (default = true ) — Especifique true para objetos que possam ser serializados (e desserializados).
|
Boolean — true caso os dados não tenham sido definidos com êxito; false em caso contrário. No Flash Player, retorna false quando format é membro de ClipboardFormats sem suporte. (O Flash Player não oferece suporte a ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT , ou ClipboardFormats.BITMAP_FORMAT ).
|
Lança
IllegalOperationError — O objeto da Área de transferência solicitado não está mais no escopo (que pode ocorrer com áreas de transferência criadas para operações de arrastar e soltar).
| |
SecurityError — Nesse contexto, não é permitido ler ou gravar na área de transferência. No Flash Player, você pode chamar esse método com êxito somente durante o processamento de um evento de usuário (por exemplo, pressionamento de tecla ou clique de mouse). No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
| |
TypeError — format ou data é null .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
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étodo |
public function setDataHandler(format:String, handler:Function, serializable:Boolean = true):Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.0 |
Adiciona uma referência a uma função de controlador que produz os dados a serem transferidos.
Use uma função de gerenciador para adiar a criação ou a renderização dos dados até que os dados sejam realmente acessados.
A função do manipulador deverá retornar o tipo de dados apropriado para o formato especificado:
Formato | Retornar tipo |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | String de (somente AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (somente AIR) |
ClipboardFormats.FILE_LIST_FORMAT | Matriz de arquivos (somenteAIR) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | Matriz de arquivos (somenteAIR) |
Nome do formato personalizado | Não nulo |
A função do manipulador é chamada quando os dados no formato especificado são lidos. Observe que em alguns casos, o sistema operacional chama a função antes que uma operação de soltar ocorra. Por exemplo, quando você usa uma função de controlador para fornecer os dados de um arquivo arrastado de um aplicativo de AIR para o sistema de arquivos, o sistema operacional chama a função de controlador de dados logo que o gesto de arrastar deixe o aplicativo normalmente de AIR que resulta em uma pausa indesejável enquanto os dados de arquivo são carregados ou criados. Você pode usar um URLFilePromise com esta finalidade.
Observe que os dados subjacentes podem se alterar entre o momento em que o manipulador é adicionado e o momento em que os dados são lidos, a não ser que seu aplicativo tome medidas para proteger os dados. O comportamento que ocorre quando os dados no clipboard representados por uma função de manipulador são lidos mais de uma vez não é garantido. A área de transferência pode retornar os dados produzidos pela primeira chamada de função ou pode chamar a função novamente. Não confie em nenhum comportamento.
Na área de segurança do aplicativo do Adobe AIR, setDataHandler()
pode ser chamado a qualquer momento. Em outros contextos, setDataHandler()
só pode ser chamado em resposta a um evento gerado pelo usuário, como um pressionamento de tecla ou clique no mouse.
Para adicionar dados diretamente a esse objeto Clipboard, use o método setData()
. Se ambos os métodos setData()
e setDataHandler()
forem chamados com o mesmo nome de formato, então, a função do manipulador jamais será chamada.
Observação: ENo OS Mac, quando você define o parâmetro format
para ClipboardFormats. URL_FORMAT
, só será transferido se o controlador retornar um URL válido. De outra maneira, o objeto de Área de transferência é esvaziado (e chamar getData()
retorna null
).
Parâmetros
format:String — Uma função que retorna os dados a ser transferidos.
| |
handler:Function — O formato dos dados.
| |
serializable:Boolean (default = true ) — Especifique true se o objeto retornado pelo manipulador puder ser serializado (e desserializado).
|
Boolean — true se o manipulador foi definido com êxito; false em caso contrário.
|
Lança
TypeError — format ou handler é null .
| |
IllegalOperationError — O objeto Clipboard solicitado não está mais em escopo (somente AIR).
| |
SecurityError — Nesse contexto, não é permitido ler ou gravar na área de transferência. No Flash Player, você pode chamar esse método com êxito somente durante o processamento de um evento de usuário (por exemplo, pressionamento de tecla ou clique de mouse). No AIR, essa restrição só se aplica ao conteúdo fora da área de segurança do aplicativo.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Grave os dados, nesse caso uma string, na
Clipboard.generalClipboard
. - Leia o conteúdo da área de transferência de
Clipboard.generalClipboard
.
Observação: Por causa de restrições de segurança no acesso de dados da área de transferência, este exemplo não funciona no Flash Player. No Flash Player, você só pode chamar o método getData()
do objeto da Área do transferência no controlador de eventos 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; } } } }
Wed Jun 13 2018, 11:10 AM Z