2

Modernizr обеспечивает способ обнаружения, если браузер поддерживает перетаскивание, но он не может точно определить, поддерживает ли браузер перетаскивание файлов. Можно ли это проверить? Или это вещь, которая все еще требует обнюхивания браузером?Возможно ли использовать тест для поддержки dataTransfer.files?

ответ

2

использование Modernizr.filereader для обнаружения

DataTransfer является одним из undetectables как не все браузеры подвергать его воздействию (например, WebKit), поэтому обнаружение если FileReader должен сделать трюк. И я не могу вспомнить, в каком браузере он находился (андроид/сафари и т. Д.), Но файл был выставлен в target.files вместо dataTransfer.files, поэтому обнаружение, если объект действительно существует, в то время как в событии стрельбы лучше.

if(typeof(e.dataTransfer) !== 'undefined' && typeof(e.dataTransfer.files) !== 'undefined') { 
    files = e.dataTransfer.files; 
} else if(typeof(e.target.files) !== 'undefined') { 
    files = e.target.files; 
} else { 
    //Bail out 
}