Código de JavaScript - Copiar al portapapeles

Imágen de perfil

Copiar al portapapelesgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(6)
Publicado el 29 de Junio del 2009 por Administrador
24.658 visualizaciones desde el 29 de Junio del 2009. Una media de 70 por semana
Código que muestra como copiar un texto de un formulario al portapapeles. Probado en IE 5,6,7 y Firefox 2.0,3.0

Requerimientos

En IE aparece un mensaje indicando "Desea permitir que esta página web obtenga acceso al Portapapeles?" Para solucionar-lo: Herramientas->Opciones de Internet->Seguridad->Nivel Personalizado.
En la sección Automatización, en Permitir operaciones de pegado por medio de una secuencia de comandos, seleccionar Habilitar.

En Firefox, hay que poner en la url del navegador: about:config
Buscar la regla: "signed.applets.codebase_principal_support" y ponerla a "true" con una doble pulsación del ratón.

Versión 1
estrellaestrellaestrellaestrellaestrella(6)

Publicado el 29 de Junio del 2009gráfica de visualizaciones de la versión: Versión 1
24.659 visualizaciones desde el 29 de Junio del 2009. Una media de 70 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- http://www.lawebdelprogramador.com -->
<html>
<head>
    <title>Copiar al portapapeles</title>
 
    <script type="text/javascript">
    function copyClipboard()
    {
        content=document.formName.campo1.value;
        // Para IE
        if(window.clipboardData && clipboardData.setData)
        {
            window.clipboardData.setData("Text", content);
        }else{
            // Para Firefox
 
            // You have to sign the code to enable this or allow the action in about:config by changing
            //user_pref("signed.applets.codebase_principal_support", true);
            netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
 
            var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
            if (!clip) return;
 
            // create a transferable
            var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
            if (!trans) return;
 
            // specify the data we wish to handle. Plaintext in this case.
            trans.addDataFlavor('text/unicode');
 
            // To get the data from the transferable we need two new objects
            var str = new Object();
            var len = new Object();
 
            var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
 
            var copytext=content;
 
            str.data=copytext;
 
            trans.setTransferData("text/unicode",str,copytext.length*2);
 
            var clipid=Components.interfaces.nsIClipboard;
 
            if (!clip) return false;
 
            clip.setData(trans,null,clipid.kGlobalClipboard);
        }
    }
    </script>
</head>
 
<body>
    <form name="formName">
        <div><input type="text" name="campo1" size="100" value="Hola. Este texto es el que vamos a copiar al portapapeles." /></div>
        <div><input type="button" value="Copiar" onclick="javascript:copyClipboard()"></div>
    </form>
</body>
</html>



Comentarios sobre la versión: Versión 1 (6)

CARMEN ESPINOZA
08 de Julio del 2009
estrellaestrellaestrellaestrellaestrella
Titulo: Copiar al portapapeles
Lenguaje: JavaScript
Código que muestra como copiar un texto de un formulario al portapapeles. Probado en IE 5,6,7 y Firefox 2.0,3.0

En IE aparece un mensaje indicando "Desea permitir que esta página web obtenga acceso al Portapapeles?" Para solucionar-lo: Herramientas->Opciones de Internet->Seguridad->Nivel Personalizado.
En la sección Automatización, en Permitir operaciones de pegado por medio de una secuencia de comandos, seleccionar Habilitar.

En Firefox, hay que poner en la url del navegador: about:config
Buscar la regla: "signed.applets.codebase_principal_support" y ponerla a "true" con una doble pulsación del ratón.
Responder
Hugo cardoso
16 de Julio del 2009
estrellaestrellaestrellaestrellaestrella
Muy buen aporte. Funciona bien. Aunque la parte final (Automatización), tiene otra opción que hace referencia al portapapeles.

Gracias.
Responder
modchip
10 de Febrero del 2010
estrellaestrellaestrellaestrellaestrella
Hola, el código funciona bien si se lanza desde un html pero si se incluye en un archivo php no funciona:
El código guardado como prueba.html=funciona pero
El código guardado como prueba.php=no funciona

Supongo que no tengo formación suficiente en php pero no logro entender por qué no funciona si alguien pudiera explicarme...
Responder
ezequiel
04 de Mayo del 2010
estrellaestrellaestrellaestrellaestrella
Exelent, igual me trajo algunas dificultades, pero seguro que son mías al conundir algunos pasos. en about:config,

saludos !
Responder
Gustavo
13 de Julio del 2011
estrellaestrellaestrellaestrellaestrella
En IE 8 funciona bien, pero en FireFox 6 no, como puedo hacer??
Responder
Gustavo
13 de Julio del 2011
estrellaestrellaestrellaestrellaestrella
Agrego, tampoco en Opera 10, Chrome ni safari 5.0.5
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1825