您的位置:首页 > Web前端 > JavaScript

JS复制到剪贴板兼容FF

2014-12-30 10:50 453 查看
最近需要做个复制到剪贴板功能,做为后发现在FF下不可用,最后按如下方式解决,请看代码:

[xhtml] view
plaincopyprint?

<mce:script type="text/javascript"><!--

function copyToClipboard(selContent) {

if(window.clipboardData) {

window.clipboardData.clearData();

window.clipboardData.setData("Text", selContent);

alert("IE下复制成功!");

} else if(navigator.userAgent.indexOf("Opera") != -1) {

window.location = selContent;

} else if (window.netscape) {

try {

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

} catch (e) {

alert("被浏览器拒绝!/n请在浏览器地址栏输入'about:config'并回车/n然后将'signed.applets.codebase_principal_support'设置为'true'");

}

var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);

if (!clip)

return;

var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);

if (!trans)

return;

trans.addDataFlavor('text/unicode');

var str = new Object();

var len = new Object();

var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

var copytext = selContent;

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);

alert("FF下复制成功!");

}

}

// --></mce:script>

测试内容:<input id="testContent" name="testContent" type="text" value="这是测试内容" style="width:200px"/>

<input type="button" onclick="copyToClipboard(document.getElementById('testContent').value);" value="复制"/><br/>

粘贴测试:<input type="text" style="width:200px"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: