2010-06-11 59 views
1

想象一下,我希望用戶能夠將選定的像素從MSPaint複製粘貼到基於瀏覽器的應用程序中。這可能在任何當前的瀏覽器中使用JavaScript嗎?它會成爲HTML5中的可能嗎? 如果不是,使用Flex/Silverlight之類的東西是否可行,或者目前根本無法實現,那麼您必須保存文件並手動上傳它?將非文本數據粘貼到基於瀏覽器的應用程序中

更新:聽起來像HTML5應該允許它,但這是未來真正有用的方法。有人提到了Java applet和Flash的一些建議,可能Flash會更可取,因爲Web客戶端的某些部分可能會使用Flex ......我寧願沒有在我的網站中使用Flash的要求。

+0

不是一個真正的答案,但它是朝着正確方向邁出的一步,我確信:要將數據直接插入到html標記中,請參見data URI scheme (wikipedia)。不幸的是,現在你被困在剪貼板上的客戶端圖像之間,並將其編碼成可插入圖像src中的字符串。不幸的是,除VB或Java或ActiveX(僅限IWindows)外,沒有辦法。 – 2010-06-18 21:43:33

+0

如果我可以將數據存入網絡應用程序,我可以將它發送到服務器並吐出某種圖像......大的可用性獎金是用戶能夠複製粘貼圖像數據而無需保存作爲文件自己並上傳。 – 2010-06-19 11:56:21

回答

2

這個先前的問題有一個非常徹底的檢查:Wysiwyg with image copy/paste。它討論了可能的coming behavior in HTML5以及FlashJava applet與剪貼板交互的解決方案,然後您可以將它們綁定到JavaScript中。


問題人員問Zeroclipboard的適用性。所以,看文件ZeroClipboard10.as,你會看到單擊處理支持兩種數據格式:

private function clickHandler(event:Event):void { 
    // user click copies text to clipboard 
    // as of flash player 10, this MUST happen from an in-movie flash click event 
    Clipboard.generalClipboard.clear(); 
    Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, clipText); 
    Clipboard.generalClipboard.setData(ClipboardFormats.HTML_FORMAT, clipText); 
    ExternalInterface.call('ZeroClipboard.dispatch', id, 'complete', clipText); 
} 

reference for ActionScript's ClipboardFormats常數指示的格式之一是BITMAP_FORMAT。所以我認爲這是一個很好的開始。

+0

感謝您的參考。不過,我不清楚zeroclipboard是如何適用的,它談論的是文本和RTF。我很想看看關於如何使用Flash獲取系統剪貼板內容的機制的討論(如果適用,使用該庫作爲參考) – 2010-06-17 09:12:01

+0

更新了zeroclipboard上的信息!希望有所幫助! – artlung 2010-06-17 22:31:12

+0

這些類引用都說'僅AIR',並且是flash.desktop的一部分。我想我會給你賞金,但也許會開始一個線程明確詢問有關Flash/Flex剪貼板的問題,在這個問題上你的輸入是最受歡迎的!謝謝。 – 2010-06-19 11:53:00

相關問題