我有一個需要將圖像數據複製到剪貼板的XULRunner應用程序。我已經想出瞭如何處理複製文本到剪貼板,並且我可以從剪貼板粘貼PNG數據。我無法弄清楚的是如何從數據URL中獲取數據到剪貼板,以便將其粘貼到其他應用程序中。如何將圖像數據複製到我的XUL應用程序中的剪貼板?
這是我用它來複制文本(當然,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粘貼我的應用程序的數據。
這是一篇非常好的文章,實際上它是上述代碼的基礎。不幸的是,它不涉及將二進制數據存入剪貼板。感謝您的迴應! – 2008-09-16 18:10:27
Doh! #xulrunner? – pc1oad1etter 2008-09-18 03:29:24