阅读:3243回复:0
firefox实现和IE一样复制的关键!?
关键我是trans没用对啊,请路过的高手指点。
我的复制方法是: ———————————————————————————————————— copyToClipboard:function(txt){//FF 复制到剪切板 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; } var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); str.data = txt; trans.addDataFlavor("html Format"); trans.setTransferData("html",str,txt.length*2); var clipid = Components.interfaces.nsIClipboard; if (!clipid){ return; } clip.setData(trans,null,clipid.kGlobalClipboard); —————————————————————————————————— 上面的代码 向word里可以粘贴,而且可以继承文字样式。 向不支持html格式的其他软件里粘贴,“粘贴”选项不可用。 但是 在不支持html格式的记事本里也应该可以粘贴不带样式的文字啊。 以下是我收集的trans 都用了,没能用的。 trans.addDataFlavor("application/x-moz-file", "nsIFile"); trans.addDataFlavor("text/x-moz-url"); trans.addDataFlavor("application/x-moz-nativehtml"); trans.addDataFlavor("text/richtext"); trans.addDataFlavor("text/plain ") trans.addDataFlavor("text/html"); trans.addDataFlavor("html Format"); trans.addDataFlavor("text/unicode"); |
|