在Firefox扩展中,如何将富文本/链接复制到剪贴板?

时间:2008-10-20 13:39:39

标签: firefox firefox-addon xul

具体来说,我希望复制一个链接(包含文本和位置),然后将其粘贴到Word中作为链接。

2 个答案:

答案 0 :(得分:6)

这是实际的代码:

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,其数据为纯文本,并将其添加到与xfer

相同的text/unicode

答案 1 :(得分:1)