3

Modernizrは、ブラウザーがドラッグ アンド ドロップをサポートしているかどうかを検出する方法を提供しますが、ブラウザーがファイルのドラッグ アンド ドロップをサポートしているかどうかを適切に判断することはできません。これを機能テストすることは可能ですか? それとも、まだブラウザのスニッフィングが必要なのですか?

4

1 に答える 1

2

Modernizr.filereader検出に使用

dataTransfer は、すべてのブラウザーが (webkit のように) 公開しているわけではないため、検出できないものの 1 つです。そして、それがどのブラウザ(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 に答える