2010-11-23 188 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