Estaba tratando de hacer "Copiar al portapapeles" trabajo en todos los navegadores, pero no tuve suerte.Copiar al portapapeles para todos los navegadores usando javascript
Estoy usando javascript y no quiero usar Zero Clipboard para hacer.
Háganos saber lo que está mal en mi código.
Gracias por su ayuda.
A continuación se muestra el código (actualmente mi código está trabajando sólo en el navegador IE): -
<script type="text/javascript">
function copyToClipboard(s)
{
if(window.clipboardData && clipboardData.setData)
{
clipboardData.setData("Text", s);
}
else
{
// 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=meintext;
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>
<textarea id='testText' rows="10" cols="100">Enter your Sample text</textarea><br />
<button onclick="copyToClipboard(document.getElementById('testText').value);" >clipboard</button><br /><br />
<textarea rows="10" cols="100">Paste your text here</textarea><br />
¿Duplicado de http://stackoverflow.com/questions/400212/how-to-copy-to-clipboard-in-javascript? –
Como sé, no puedes usar js para acceder al portapapeles en Firefox de manera predeterminada. La única forma universal es flash, en lugar de js. – Rufus
@Rufus: Pero en mi caso, tengo que prescindir de flash. –