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

标签 firefox firefox-addon xul

具体来说,我想复制一个链接(带有文本和位置),然后能够将其粘贴到例如 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

关于firefox - 在 Firefox 扩展中,如何将富文本/链接复制到剪贴板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/218462/

相关文章:

javascript - 从 javascript [Firefox/XUL] 更改 CSS 类内容

python Selenium : Firefox profile error

javascript - 在 Firefox 中使用跨域脚本标记共享凭据

javascript - Firefox Web开发者工具栏: JS does not work after an "on the fly" HTML edit

python - 当我尝试使用 Mozilla Add-On SDK 运行 'cfx run' 或 'cfx test' 时,找不到我的应用程序二进制文件

javascript - 使用 JavaScript 从扩展程序中以编程方式打开 Firefox 浏览器控制台?

firefox - 升级插件以与 Firefox 4.0 兼容,但也尝试使其与 3.x 兼容。建议?

css - 带有背景的样式化 Firefox 扩展按钮

javascript - NS_ERROR_FAILURE

javascript - 为 Firefox 扩展实现 Javascript 插件系统