5
* copies text to the clipboard
7
setText: function(text){
8
var clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
9
clipboardHelper.copyString(text);
16
setHTML: function(html){
18
// generate the text version of the html
19
var text = html.replace(/<(\/)?\w+[^>]*>/g, ' ').replace(/ +/g, ' ');
21
//convert to unicode String
22
var nsiStringText = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
23
nsiStringText.data = text;
26
var nsiStringHTML = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
27
nsiStringHTML.data = html;
29
// add Unicode & HTML flavors to the transferable widget
30
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
31
trans.addDataFlavor("text/unicode");
32
trans.setTransferData("text/unicode", nsiStringText, text.length * 2); // *2 because it's unicode
34
trans.addDataFlavor("text/html");
35
trans.setTransferData("text/html", nsiStringHTML, html.length * 2); // *2 because it's unicode
37
// and copy to clipboard
38
var clipboard = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
39
clipboard.setData(trans, null, Components.interfaces.nsIClipboard.kGlobalClipboard);