Modernizr提供了一种检测浏览器是否支持拖放的方法,但它无法充分判断浏览器是否支持文件拖放。是否可以对此进行功能测试?或者它仍然需要浏览器嗅探?
问问题
483 次
1 回答
2
用于Modernizr.filereader
检测
dataTransfer 是不可检测的因素之一,因为并非所有浏览器都会公开它(如 webkit),因此检测 FileReader 是否应该这样做。而且我不记得它在哪个浏览器中(android / safari等),但是文件被暴露在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
}
于 2013-05-09T14:16:21.227 回答