2010-11-23 48 views
10

我似乎無法在任何地方在線找到它,只需演示或鏈接到規範或Google Gears實現。這一切都很棒,但我很好奇在主要瀏覽器和操作系統上實際瀏覽器的支持情況。 Firefox,Chrome,Safari,Opera和IE有其他選擇嗎?那麼IE9呢?瀏覽器支持拖放文件上傳

回答

6

的火狐3.5有一個漂亮的拖和拖放API:https://developer.mozilla.org/En/DragDrop/Drag_and_Drop

Chrome,只要可以拖放到文件上傳,所以,你可以做拖放,但是你要假的它通過不透明度隱藏窗體:0,但通過包裝div和寬度變大:100%和高度:100%:http://www.thecssninja.com/javascript/gmail-upload

Safari與Chrome一樣,除了一次只能執行一個文件,更多關於這個在帖子末尾的鏈接(thecssninja鏈接)

IE它似乎可以使用VBDataObject或ActiveX,但我仍然不確定在哪裏可以找到更多信息。我只能找到關於如何使用這些信息的小片段:http://www.codingforums.com/showthread.php?t=36896 - 如果任何人都可以幫助我如何讓IE支持它,請告訴我。

歌劇似乎什麼都沒有。只要玩它,就像IE一樣,如果你拖動到文件上傳,它只是打開該文件。如果有人知道這個讓我知道。

4

PIUpload項目有一個兼容性表。它說

拖放文件的支持目前僅在Firefox 3.5+中可用。 WebKit/Opera目前還不支持此功能。

+0

感謝。我更新了我的帖子。你不知道如何使用VBDataObject或ActiveX來獲得IE添加拖放支持嗎? – 2010-11-23 18:34:41

1

Safari 5確實支持從桌面拖放多個文件到瀏覽器。我已經使用這個功能很長一段時間了,如果你願意,我很樂意分享我的代碼。

+1

歡迎來到StackOverflow。請分享一個代碼示例以使您的答案對其他人更有用。謝謝。 – phant0m 2012-11-24 21:54:10

14

爲了支持HTML5的拖放文件上傳,瀏覽器應該同時支持拖放(DnD)API和File API。

IE支持IE5中的DnD,但即使在IE9中也不支持File API。 Opera支持11.1的File API,但不支持DnD。

所以你可以在Firefox 3.6+,Safari 6.0+,Chrome 9.0+上使用拖放文件上傳。

檢查此兼容性表。

的DnD http://caniuse.com/#search=drag

文件API http://caniuse.com/#search=fileapi

+0

任何方式功能測試這個,沒有瀏覽器嗅探? – jayarjo 2013-02-21 12:25:50