leichenlei
小狐狸
小狐狸
  • UID23139
  • 注册日期2008-03-06
  • 最后登录2008-05-13
  • 发帖数4
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:2971回复:0

firefox实现和IE一样复制的关键!?

楼主#
更多 发布于:2008-04-08 17:14
关键我是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");
游客

返回顶部