我有一个需要将图像数据复制到剪贴板的XULRunner应用程序。我已经找到了如何处理将文本复制到剪贴板的方法,并且我可以从剪贴板粘贴PNG数据。但是我无法弄清楚如何将data URL中的数据复制到剪贴板,以便可以将其粘贴到其他应用程序中。
这是我用来复制文本(好吧,XUL)的代码:
var transferObject=Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
var stringWrapper=Components.classes["@mozilla.org/supports-string;1"].
createInstance(Components.interfaces.nsISupportsString);
var systemClipboard=Components.classes["@mozilla.org/widget/clipboard;1"].
createInstance(Components.interfaces.nsIClipboard);
var objToSerialize=aDOMNode;
transferObject.addDataFlavor("text/xul");
var xmls=new XMLSerializer();
var serializedObj=xmls.serializeToString(objToSerialize);
stringWrapper.data=serializedObj;
transferObject.setTransferData("text/xul",stringWrapper,serializedObj.length*2);
正如我所说,我尝试传输的数据是一个PNG格式的数据URL。因此,我正在寻找与上述等效的方法,例如允许Paint.NET粘贴我的应用程序数据。