English 中文(简体)
在Firefox扩展中,如何将富文本/链接复制到剪贴板中?
原标题:
  • 时间:2008-10-20 13:39:39
  •  标签:

具体来说,我想复制一个带有文本和位置的链接,然后能够将其粘贴到例如Word中作为链接。

最佳回答
问题回答

这是实际的代码:

var richText = "<a href="" + gContextMenu.linkURL + "">" + gContextMenu.linkText() + "</a>";
var xfer = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
xfer.addDataFlavor("text/html");

var htmlString = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
htmlString.data = richText;
xfer.setTransferData("text/html", htmlString, richText.length * 2);

var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
clipboard.setData(xfer, null, Components.interfaces.nsIClipboard.kGlobalClipboard);

建议创建另外一个Components.interfaces.nsISupportsString,它的数据是纯文本,并将它添加到与text/unicode相同的xfer中。





相关问题
热门标签