今天goole了好多资料。。。
function copyToClipboard(txt)
{
if(window.clipboardData)
{
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
}
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);
/*
for(var i in clip)
{
alert(i+" "+clip[i]);
}
*/
if (!clip) return;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
/*
for(var i in trans)
{
alert(i+" "+trans[i]);
}
*/
if (!trans) return;
trans.addDataFlavor("text/unicode");
var str = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
/*
for(var i in str)
{
alert(i+" "+str[i]);
}
*/
str.data = txt;
trans.setTransferData("text/unicode",str,txt.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clipid)return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
return true;
}
似乎还有一种
function copyText (txt) {
if (window.clipboardData) window.clipboardData.setData ('Text', txt);
else {
var flashBox = document.getElementById ('flashBox');
if (!flashBox) {
flashBox = document.createElement ('div');
flashBox.id = 'flashBox';
document.body.appendChild (flashBox);
}
flashBox.innerHTML = '<embed src="clipboard.swf" FlashVars="clipboard=' + escape (txt) + '" '+'width="0" height="0" type="application/x-shockwave-flash"></embed>';
}
}
不清楚flash是怎么实现的