Я пишу приложение, это, как предполагается, поддерживает HTML5, перетаскивают/отбрасывают API для файла, во многом как на описанном сюда. Я хотел бы выполнить программную проверку на ли поддержка браузера этот вид безумия:) Решение, которое работает на данный момент, проверяет, обеспечивает ли браузер класс FileReader, как это:
if (typeof(FileReader) == "undefined") {
$("#dropbox").hide();
} else {
// connect events
$("#filebox").hide();
}
Но это - очевидно, не корректное (я не использую тот класс вообще).
Какие-либо идеи?
Проверка существования FileReader является правильным способом решения этой задачи. FileReader является официальной частью File Api. Я бы объединил это с Modernizr. Поддержка Drag and Drop запланирована на релиз 1.2. Вы можете взять исходники на GitHub и начать работать с этим уже сейчас. http://github.com/Modernizr/Modernizr/blob/master/modernizr.js
if (!!FileReader && Modernizr.draganddrop) {
// sexy drag and drop action
} else {
// no drag and drop support available :(
}
Если вы не видели Dive into HTML5, вам обязательно нужно ознакомиться с предложениями Марка Пилгрима по обнаружению HTML5.