据说在新版本的firefox中其实可以让用户设置是不是开放让javascript调用剪贴板,默认为不开放。
下面这段代码就是用firefox的合法途径调用剪贴板,并在用户没有设置剪贴板调用的时候告知如何设置。
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("复制成功!") } }
字符串中不能使用\n而要用\x0D\x0A
我再来测试一下,可以删除
从FF1.0跟进到现在的2.0后,实在受不了时常的崩溃(特别是在同时打开Gmail页面的情况下)和庞大的内存占用。所以又转回到了IE7.0+IEpro了。
p.s,我的站名为Think Again,非Thank again,能否改之。
已经改好了,真不好意思
Firefox 3 的内存占用情况已经有了质的改善,建议试试:)
应该不会出现你说的情况吧?