当前位置: 代码迷 >> JavaScript >> 请教firefox下如何实现点击复制
  详细解决方案

请教firefox下如何实现点击复制

热度:145   发布时间:2012-03-17 19:06:27.0
请问firefox下怎么实现点击复制
在IE下用clipboardData.setData( 'Text ',内容)就可以了,
请问下firefox下该怎么写?

------解决方案--------------------
function CopyUrl(txt) {
if(window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData( "Text ", txt);
alert( "地址已复制! ");
document.body.scrollTop=0;
} else if(navigator.userAgent.indexOf( "Opera ") != -1) {
window.location = txt;
} 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 = txt;
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);
}
}
  相关解决方案