<script type="text/javascript">
<!--
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);
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);
alert("复制成功!")
}
}
-->
</script>
运行上述函数,在 Firefox 中会提示是否开启剪贴板。还有一种方法是利用 Flash 的复制作为跳板,请参见 http://www.storyday.com/html/y2007/931_copy2clip-firefox-solution.html。