Поддержка браузера загрузки файлов с перетаскиванием

Я не могу найти его в Интернете, просто демо или ссылки на спецификацию или реализацию Google Gears. Это все здорово, но мне было любопытно, что фактическая поддержка браузера в нем - в основных браузерах и ОС. Firefox, Chrome, Safari, Opera, и есть ли у IE альтернатива? Что относительно IE9?

Ответ 1

Firefox 3.5+ имеет приятный drag-and-drop 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

Чтобы поддерживать перенос файлов HTML5 с перетаскиванием, браузер должен поддерживать API перетаскивания (DnD) и API файлов одновременно.

IE поддерживает DnD от IE5, но он не поддерживает API файлов даже в IE9. Opera поддерживает API файлов от 11.1, но не поддерживает DnD.

Таким образом, вы можете использовать загрузку файлов с перетаскиванием в Firefox 3.6+, Safari 6.0+, Chrome 9.0 +.

Проверьте эту таблицу совместимости.

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

API файлов http://caniuse.com/#search=fileapi

Ответ 3

Проект PIUpload имеет таблицу совместимости. В нем говорится:

Поддержка перетаскивания файлов в настоящее время доступна только в Firefox 3.5+. WebKit/Opera еще не поддерживает эту функцию.

Ответ 4

Safari 5 действительно поддерживает перетаскивание нескольких файлов с рабочего стола на браузер. Я давно использую эту функцию, и я рад поделиться своим кодом, если вам нравится.