我似乎无法在任何地方在线查找,只是演示或链接到规范或Google Gears实施。这一切都很棒,但我很好奇它在主浏览器和操作系统上的实际浏览器支持是什么。 Firefox,Chrome,Safari,Opera,IE还有其他选择吗? IE9怎么样?
答案 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 +中使用拖放文件上传。
检查此兼容性表格。
答案 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确实支持将多个文件从桌面拖放到浏览器。我现在已经使用这个功能很长时间了,如果你愿意,我很乐意分享我的代码。