Portapapeles en vivo


Live Clipboard es un formato de datos extensible y un conjunto de tecnologías de interfaz de usuario que se utilizan para admitir operaciones de copiar/pegar entre aplicaciones web en navegadores y entre aplicaciones web y de escritorio. A diferencia de la experiencia típica de copiar y pegar en los navegadores, el mecanismo Live Clipboard nunca necesita mostrar un cuadro de diálogo de seguridad al usuario final, lo que brinda una experiencia de usuario más optimizada.

Live Clipboard tiene la licencia Creative Commons Attribution-ShareAlike License (versión 2.5). A fines de 2009, la especificación actualizada, los archivos Javascript y el código de muestra se pueden encontrar aquí: [1] [2]

Live Clipboard DHTML proporciona la funcionalidad de copiar/pegar datos asociados con una página web utilizando el formato de datos XML de Live Clipboard. Consta de los siguientes componentes:

Está diseñado para usar técnicas estándar de Javascript y CSS para "traer el portapapeles a la web" y para funcionar en tantos navegadores como sea posible. Actualmente, se verifica que funcione en IE 8 y en Mozilla Firefox 3.5.2. El control no depende de la instalación de aplicaciones del lado del cliente o complementos del navegador, y nunca obtiene acceso al contenido del portapapeles sin una acción explícita del usuario.

El control coloca un elemento de entrada transparente (opacidad = 0) en un divelemento contenedor con una imagen .png de fondo del icono del portapapeles. Cuando el usuario enfoca la entrada haciendo clic con el botón izquierdo o derecho, tabulando, etc., la secuencia de comandos de control obtiene los datos que deben copiarse llamando a la función OnGetLiveClipboardData. El desarrollador de la página implementa esta función de devolución de llamada y devuelve una instancia de LiveClipboardClass que contiene los datos que deben copiarse en el portapapeles. A continuación, la secuencia de comandos de control serializa estos datos en el formato XML de Live Clipboard, que establece como el valor del elemento de entrada y selecciona.

En este punto, si el usuario emite un comando de "copiar" a través del menú contextual, menú de edición del navegador, ctrl-Ccomando, etc., los contenidos seleccionados de la entrada se colocan en el portapapeles. Alternativamente, si el usuario emite un comando "pegar", el valor de la entrada se reemplaza con los datos actuales en el portapapeles. En este caso, la secuencia de comandos de control detecta que el valor de entrada ha cambiado, deserializa el valor del formato XML de Live Clipboard a una instancia de LiveClipboardClass y pasa el objeto a la función OnHandleLiveClipboardData.