Firefox拡張機能で、リッチテキスト/リンクをクリップボードにコピーするにはどうすればよいですか?
-
03-07-2019 - |
質問
具体的には、リンク(テキストと場所を含む)をコピーして、たとえば、リンクとして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
に追加することもお勧めします
所属していません StackOverflow