2
Modernizr提供了一種檢測瀏覽器是否支持拖放操作的方法,但它無法充分說明瀏覽器是否支持拖放文件。這有可能特徵測試嗎?或者它仍然需要瀏覽器嗅探?是否有可能爲dataTransfer.files支持功能測試?
Modernizr提供了一種檢測瀏覽器是否支持拖放操作的方法,但它無法充分說明瀏覽器是否支持拖放文件。這有可能特徵測試嗎?或者它仍然需要瀏覽器嗅探?是否有可能爲dataTransfer.files支持功能測試?
使用Modernizr.filereader
檢測
數據傳遞是undetectables之一,因爲不是所有的瀏覽器將其暴露(如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
}