<!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)
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.
Gracias.
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...
saludos !