Paquete | flash.desktop |
Clase | public class Clipboard |
Herencia | Clipboard Object |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
generalClipboard
.
Un objeto Clipboard puede contener la misma información en formatos distintos. Al suministrar información en varios formatos, se aumenta la probabilidad de que otras aplicaciones puedan utilizar dicha información. Añade datos aun objeto Clipboard con los métodos setData()
o setDataHandler()
.
Los formatos estándar son:
- BITMAP_FORMAT: un objeto BitmapData (sólo AIR)
- FILE_LIST_FORMAT: un conjunto de objetos File (sólo AIR)
- HTML_FORMAT: datos de cadena en formato HTML
- TEXT_FORMAT: datos de cadena
- RICH_TEXT_FORMAT: un conjunto ByteArray con datos de formato de texto enriquecido (RTF)
- URL_FORMAT: una cadena URL (sólo AIR)
Estas constantes de los nombres de formatos estándar se definen en la clase ClipboardFormats.
Cuando se produce una transferencia al o desde el sistema operativo, los formatos estándar se traducen automáticamente entre tipos de datos de y ActionScript y tipos de portapapeles del sistema operativo nativo.
Puede utilizar formatos definidos por la aplicación para añadir objetos de ActionScript a un objeto Clipboard. Si un objeto se puede serializar, pueden ponerse a diposición del usuario una referencia y una copia del objeto. Las referencias a objetos sólo son válidas en la aplicación original.
Si convertir la información que se va a transferir a un formato concreto consume demasiados recursos, puede proporcionar el nombre de una función que lleve a cabo la conversión. Se llamará a esta función si y sólo si el componente o aplicación receptores pueden leer el formato. Añada una función de representación retrasada a un objeto Clipboard con el método setDataHandler()
. Tenga en cuenta que en algunos casos el sistema operativo llama a la función antes de que se produzca una acción de colocar. Por ejemplo, cuando se utiliza una función de controlador para proporcionar los datos de un archivo arrastrado desde una aplicación de AIR al el sistema de archivos, el sistema operativo llama a la función de controlador de datos en cuanto el gesto de arrastrar abandona la aplicación de AIR (por lo general, produce una pausa no deseada cuando el archivo datos se descarga o se crea).
Nota para aplicaciones de AIR: el objeto de portapapeles al que hacen referencia los objetos de eventos distribuidos en eventos HTML de arrastrar y soltar o de copiar y pegar no son del mismo tipo que los objeto Clipboard de AIR. El objeto de portapapeles de JavaScript se describe en la guía de desarrolladores de AIR.
Nota para aplicaciones de Flash Player: en Flash Player 10, una acción de pegar desde el portapapeles requiere un evento de usuario (un método abreviado de teclado para el comando Pegar o un clic del ratón en la opción Pegar del menú contextual). Clipboard.getData()
devuelve el contenido del portapapeles sólo si se ha recibido el objeto InteractiveObject y actúa como un evento paste. En cualquier otro caso, la llamada a Clipboard.getData()
no se producirá correctamente. La misma restricción se aplica a AIR en cuanto al contenido que no se encuentra dentro del entorno limitado de seguridad de la aplicación.
En Linux, los datos de portapapeles no se conservan cuando se cierra una aplicación de AIR.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
formats : Array [solo lectura]
Conjunto de cadenas con los nombres de los formatos de datos disponibles en este objeto Clipboard. | Clipboard | ||
generalClipboard : Clipboard [estática] [solo lectura]
Portapapeles del sistema operativo. | Clipboard | ||
supportsFilePromise : Boolean [solo lectura]
Indica si el formato del portapapeles de promesas de archivo se admite en el sistema del cliente. | Clipboard |
Método | Definido por | ||
---|---|---|---|
Crea un objeto Clipboard vacío. | Clipboard | ||
Elimina todas las representaciones de datos de este objeto Clipboard. | Clipboard | ||
Elimina la representación de datos del formato especificado. | Clipboard | ||
Obtiene los datos del portapapeles si existen datos en el formato especificado. | Clipboard | ||
Comprueba si existen datos del formato especificado en este objeto Clipboard. | Clipboard | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Añade una representación de la información que se va a transferir en el formato de datos especificado. | Clipboard | ||
Añade una referencia a una función de controlador que genera los datos que se van a transferir. | Clipboard | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
formats | propiedad |
formats:Array
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Conjunto de cadenas con los nombres de los formatos de datos disponibles en este objeto Clipboard.
Las constantes de cadena de los nombres de formatos estándar se definen en la clase ClipboardFormats. También se pueden utilizar otras cadenas (definidas por la aplicación) como nombres de formatos para transferir datos como un objeto.
Implementación
public function get formats():Array
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
formats
del portapapeles del sistema:
var availableFormats:Array = Clipboard.generalClipboard.formats;
generalClipboard | propiedad |
generalClipboard:Clipboard
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Portapapeles del sistema operativo.
Cualquier dato pegado en el portapapeles del sistema está disponible en otras aplicaciones. Esto puede incluir código remoto no seguro ejecutándose en un navegador web.
Nota: en aplicaciones de Flash Player 10, la acción de pegar desde el portapapeles requiere un evento de usuario (un método abreviado de teclado para el comando Pegar o un clic del ratón en la opción Pegar del menú contextual). Clipboard.getData()
devuelve el contenido del portapapeles sólo si se ha recibido el objeto InteractiveObject y actúa como un evento paste. En cualquier otro caso, la llamada a Clipboard.getData()
no se producirá correctamente. La misma restricción se aplica a AIR en cuanto al contenido que no se encuentra dentro del entorno limitado de seguridad de la aplicación.
El objeto generalClipboard
se crea automáticamente. No es posible asignar otra intancia de Clipboard a esta propiedad. Utilice los métodos getData()
y setData()
para leer y escribir datos en el objeto existente.
Siempre debe borrar el portapapeles antes de escribir datos nuevos para garantizar que se borran todos los datos en otros formatos.
El objeto generalClipboard
no se puede transferir al método NativeDragManager de AIR. Cree un nuevo objeto Clipboard para operaciones nativas de arrastrar y colocar en una aplicación de AIR.
Implementación
public static function get generalClipboard():Clipboard
Ejemplo ( Cómo utilizar este ejemplo )
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 | propiedad |
Clipboard | () | Información sobre |
public function Clipboard()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Crea un objeto Clipboard vacío.
Cree objetos Clipboard para alojar los datos de un gesto nativo de arrastrar y colocar en Adobe AIR. Los objetos Clipboard se pueden utilizar para un solo gesto de arrastrar y colocar, lo que significa que no es posible reutilizarlos.
No cree un objeto Clipboard para operaciones de copiar y pegar. Utilice el objeto Clipboard.generalClipboard
sencillo en su lugar.
Emite
IllegalOperationError — new Clipboard() no se admite en Flash Player, ya que únicamente se utiliza el portapapeles del sistema operativo en Flash Player. Nota: para ejecutar las operaciones de copiar y pegar del portapapeles del sistema operativo, utilice el objeto Clipboard.generalClipboard en vez de crear un nuevo objeto Clipboard. No emite ningún error en una aplicación de AIR.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
Nota: para ejecutar las operaciones de copiar y pegar del portapapeles del sistema operativo, utilice el objeto Clipboard.generalClipboard
en vez de crear un nuevo portapapeles.
import flash.desktop.Clipboard; var clipboard:Clipboard = new Clipboard();
clear | () | método |
public function clear():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Elimina todas las representaciones de datos de este objeto Clipboard.
Emite
SecurityError — No se permiten llamadas a generalClipboard.clear() en este contexto. En Flash Player, sólo se puede llamar a este método correctamente durante el procesamiento de un evento de usuario (por ejemplo, una pulsación de tecla o un clic de ratón). En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
|
Ejemplo ( Cómo utilizar este ejemplo )
Clipboard.generalClipboard.clear();
clearData | () | método |
public function clearData(format:String):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Elimina la representación de datos del formato especificado.
Parámetros
format:String — Formato de datos que se va a eliminar.
|
Emite
SecurityError — No se permiten llamadas a generalClipboard.clearData() en este contexto. En Flash Player, sólo se puede llamar a este método correctamente durante el procesamiento de un evento de usuario (por ejemplo, una pulsación de tecla o un clic de ratón). En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
|
Ejemplo ( Cómo utilizar este ejemplo )
ClipboardFormats.TEXT_FORMAT
del portapapeles del sistema:
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.clearData(ClipboardFormats.TEXT_FORMAT);
getData | () | método |
public function getData(format:String, transferMode:String = "originalPreferred"):Object
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Obtiene los datos del portapapeles si existen datos en el formato especificado.
Flash Player requiere llamar al método getData()
en un controlador de eventos paste
. En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
Cuando se accede a un formato de datos estándar, los datos se devuelve como un nuevo objeto del tipo de datos de Flash correspondiente.
Cuando se accede a un formato definido por la aplicación, el valor del parámetro transferMode
determina si se devuelve una referencia al objeto original o un objeto anónimo con una copia serializada del objeto original. Cuando se especifica un modo originalPreferred
o clonePreferred
, AIR o Flash Player devuelve una versión alternativa si la versión preferida no está disponible. Cuando se especifica un modo originalOnly
o cloneOnly
, AIR o Flash Player devuelve null
si la versión solicitada no está disponible.
Parámetros
format:String — Formato de datos que se va a devolver. La cadena del formato puede contener uno de los nombres estándar definidos en la clase ClipboardFormats, o un nombre definido por la aplicación.
| |
transferMode:String (default = "originalPreferred ") — Especifica si se devuelve una referencia o una copia serializada cuando se accede a un formato de datos definido por la aplicación. El valor debe ser uno de los nombres definidos en la clase ClipboardTransferMode. Este valor se omite para los formatos de datos estándar; siempre se devuelve una copia.
|
Object — Objeto del tipo correspondiente al formato de datos.
|
Emite
Error — transferMode no es uno de los nombres definidos en la clase ClipboardTransferMode.
| |
IllegalOperationError — El objeto Clipboard solicitado ya no está en el ámbito (sólo AIR).
| |
SecurityError — No está permitido escribir ni leer el portapapeles en este contexto. En Flash Player, sólo se puede llamar a este método correctamente durante el procesamiento de un evento paste . En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
import flash.desktop.ClipboardFormats; var pasteData:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
hasFormat | () | método |
public function hasFormat(format:String):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Comprueba si existen datos del formato especificado en este objeto Clipboard.
Utilice las constantes de la clase ClipboardFormats para hacer referencia a los nombres de formatos estándar.
Parámetros
format:String — Tipo de formato que se va a comprobar.
|
Boolean — true si hay presentes datos del formato especificado.
|
Emite
IllegalOperationError — El objeto Clipboard solicitado ya no está en el ámbito.
| |
SecurityError — No está permitido escribir ni leer el portapapeles en este contexto.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ //do something }
setData | () | método |
public function setData(format:String, data:Object, serializable:Boolean = true):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Añade una representación de la información que se va a transferir en el formato de datos especificado.
En el entorno limitado de seguridad de Adobe AIR, se puede llamar a setData()
en cualquier momento. En otros contextos, sólo se puede llamar a setData()
como respuesta a un evento generado por el usuario, por ejemplo, una pulsación de tecla o un clic de ratón.
Se pueden añadir representaciones diferentes de la misma información al portapapeles en varios formatos. Esto aumenta la capacidad de otros componentes o aplicaciones para utilizar los datos disponibles. Por ejemplo, se puede añadir una imagen como datos de mapa de bits para que la puedan utilizar las aplicaciones de edición de imágenes, para que se pueda usar como URL o como archivo PNG codificado para el sistema de archivos nativo.
El parámetro de datos debe ser del tipo de datos del formato especificado:
Formato | Tipo | Descripción |
---|---|---|
ClipboardFormats.TEXT_FORMAT | String | datos de cadena |
ClipboardFormats.HTML_FORMAT | String | datos de cadena HTML |
ClipboardFormats.URL_FORMAT | String | Cadena URL (sólo AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray | Datos con formato de texto enriquecido |
ClipboardFormats.BITMAP_FORMAT | BitmapData | datos de mapa de bits (sólo AIR) |
ClipboardFormats.FILE_LIST_FORMAT | conjunto de File | un conjunto de archivos (sólo AIR) |
Nombre de formato personalizado | cualquiera | referencia a objeto y clon serializado |
Los nombres de formato personalizados no pueden comenzar por "air:" ni por "flash:". Para evitar conflictos de nombres al utilizar formatos personalizados, utilice el ID de aplicación o el nombre del paquete como prefijo del formato, por ejemplo, "com.example.nombreAplicación.paqueteDatos".
Al transferir dentro de o entre aplicaciones de AIR, el parámetro serializable
determina si hay una referencia y una copia, o si sólo se dispone de una referencia al objeto. Establezca serializable
como true
para disponer de una referencia y una copia del objeto de datos disponible. Establezca serializable
como false
para hacer que una sola referencia al objeto esté disponible. Las referencias al objeto sólo son válidas en la aplicación activa, por lo que establecer serializable
como false
también implica que los datos de dicho formato no estén disponibles en otras aplicaciones de AIR o Flash Player. Un componente puede elegir obtener la referencia o la copia del objeto estableciendo el modo de transferencia de portapapeles adecuado al acceder a los datos en dicho formato.
Nota: los formatos estándar siempre se convierten en formatos nativos cuando los datos se pegan o se arrastran fuera de una aplicación admitida, por lo que el valor del parámetro serializable
no afecta a la disponibilidad de los datos en los formatos no estándar de aplicaciones que no sean de AIR.
Para retrasar la representación de los datos de un formato, utilice el método setDataHandler()
. Si se utilizan los métodos setData()
y setDataHandler()
para añadir una representación de datos con el mismo nombre de formato, nunca se llama a la función del controlador.
Nota: en Mac OS, al establecer el parámetro format
como ClipboardFormats.URL_FORMAT
, la URL se transfiere sólo si es una URL válida. En caso contrario, el objeto Clipboard se vacía (y llamar a getData()
devuelve null
).
Parámetros
format:String — Formato de los datos.
| |
data:Object — Información que se va a añadir.
| |
serializable:Boolean (default = true ) — Especifique true en objetos que se puedan serializar (y deserializar).
|
Boolean — true si se han establecido correctamente los datos; en caso contrario, false . En Flash Player, devuelve false si format es un miembro no admitido de ClipboardFormats. (Flash Player no admite ClipboardFormats.URL_FORMAT , ClipboardFormats.FILE_LIST_FORMAT , ClipboardFormats.FILE_PROMISE_LIST_FORMAT o ClipboardFormats.BITMAP_FORMAT ).
|
Emite
IllegalOperationError — El objeto Clipboard solicitado ya no está en el ámbito (puede ocurrir con portapapeles creados para operaciones de arrastrar y soltar).
| |
SecurityError — No está permitido escribir ni leer el portapapeles en este contexto. En Flash Player, sólo se puede llamar a este método correctamente durante el procesamiento de un evento de usuario (por ejemplo, una pulsación de tecla o un clic de ratón). En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
| |
TypeError — format o data es null .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
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
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.0 |
Añade una referencia a una función de controlador que genera los datos que se van a transferir.
Utilice esta función de controlador para retrasar la creación o la representación de los datos has que se acceda a ellos.
La función del controlador debe devolver el tipo de datos del formato especificado:
Formato | Tipo devuelto |
---|---|
ClipboardFormats.TEXT_FORMAT | String |
ClipboardFormats.HTML_FORMAT | String |
ClipboardFormats.URL_FORMAT | Cadena (sólo AIR) |
ClipboardFormats.RICH_TEXT_FORMAT | ByteArray |
ClipboardFormats.BITMAP_FORMAT | BitmapData (sólo AIR) |
ClipboardFormats.FILE_LIST_FORMAT | Conjunto de objetos File (sólo AIR) |
ClipboardFormats.FILE_PROMISE_LIST_FORMAT | Conjunto de objetos File (sólo AIR) |
Nombre de formato personalizado | No vacío |
Se llama a la función del controlador únicamente cuando se leen datos del formato especificado. Tenga en cuenta que en algunos casos el sistema operativo llama a la función antes de que se produzca una acción de colocar. Por ejemplo, cuando se utiliza una función de controlador para proporcionar los datos de un archivo arrastrado desde una aplicación de AIR al el sistema de archivos, el sistema operativo llama a la función de controlador de datos en cuanto el gesto de arrastrar abandona la aplicación de AIR (por lo general, produce una pausa no deseada cuando el archivo datos se descarga o se crea). Puede utilizar un URLFilePromise para este fin en su lugar.
Tenga en cuenta que los datos subyacentes pueden cambiar entre el momento en que se añade el controlador y el momento en que se leen, a no ser que la aplicación realice las acciones necesarias para proteger los datos. El comportamiento se produce cuando no se garantiza que los datos del portapapeles representados por una función más de una vez. El portapapeles puede devolver los datos producidos por la primera llamada a la función o volver a llamarla. No se base en ninguno de los comportamientos.
En el entorno limitado de seguridad de Adobe AIR, se puede llamar a setDataHandler()
en cualquier momento. En otros contextos, sólo se puede llamar a setDataHandler()
como respuesta a un evento generado por el usuario, por ejemplo, una pulsación de tecla o un clic de ratón.
Para añadir datos directamente a este objeto Clipboard, utilice el método setData()
. Si se llama a métodos setData()
y setDataHandler()
con el mismo nombre de formato, nunca se llama a la función del controlador.
Nota: en Mac OS, al establecer el parámetro format
como ClipboardFormats.URL_FORMAT
, la URL se transfiere sólo si la función de controlador devuelve una URL válida. En caso contrario, el objeto Clipboard se vacía (y llamar a getData()
devuelve null
).
Parámetros
format:String — Función que devuelve los datos que se van a transferir.
| |
handler:Function — Formato de los datos.
| |
serializable:Boolean (default = true ) — Especifique true si el objeto devuelto por handler se puede serializar (y deserializar).
|
Boolean — true si se ha establecido correctamente el controlador; en caso contrario, false .
|
Emite
TypeError — format o handler es null .
| |
IllegalOperationError — El objeto Clipboard solicitado ya no está en el ámbito (sólo AIR).
| |
SecurityError — No está permitido escribir ni leer el portapapeles en este contexto. En Flash Player, sólo se puede llamar a este método correctamente durante el procesamiento de un evento de usuario (por ejemplo, una pulsación de tecla o un clic de ratón). En AIR, esta restricción sólo se aplica al contenido situado fuera del entorno limitado de seguridad de la aplicación.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
import flash.desktop.ClipboardFormats; Clipboard.generalClipboard.setDataHandler(ClipboardFormats.TEXT_FORMAT, randomNumberGenerator); public function randomNumberGenerator():String{ return Math.random().toString(); }
- Escriba los datos, en este caso una cadena, en
Clipboard.generalClipboard
. - Lea el contenido del portapapeles desde
Clipboard.generalClipboard
.
Nota: debido a restricciones de seguridad en el acceso a datos de portapapeles, este ejemplo no funciona en Flash Player. En Flash Player, sólo se puede llamar al método getData()
del objeto Clipboard en un 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; } } } }
Tue Jun 12 2018, 02:12 PM Z