浏览器支持拖放文件上传

时间:2010-11-23 17:35:25

标签: javascript ajax html5 file-upload drag-and-drop

我似乎无法在任何地方在线查找,只是演示或链接到规范或Google Gears实施。这一切都很棒,但我很好奇它在主浏览器和操作系统上的实际浏览器支持是什么。 Firefox,Chrome,Safari,Opera,IE还有其他选择吗? IE9怎么样?

4 个答案:

答案 0 :(得分:17)

为了支持HTML5拖放文件上传,浏览器应同时支持拖放(DnD)API和文件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

答案 1 :(得分:6)

Firefox 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支持它,请告诉我。

Opera似乎什么都没有。只是玩它,它就像IE一样,如果你拖到文件上传它只是打开该文件。如果有人知道,请告诉我。

答案 2 :(得分:4)

PIUpload项目有一个兼容性表。它说

  

文件的拖放支持目前仅适用于Firefox 3.5+。 WebKit / Opera尚不支持此功能。

答案 3 :(得分:1)

Safari 5确实支持将多个文件从桌面拖放到浏览器。我现在已经使用这个功能很长时间了,如果你愿意,我很乐意分享我的代码。