2

したがって、次のコードが与えられます。

var container = document.getElementById("body");
container.addEventListener("dragenter", noopHandler, false);
container.addEventListener("dragover", noopHandler, false);
container.addEventListener("drop", function(evt) {
    noopHandler(evt);
    console.log('drop');
    console.log(evt.dataTransfer.files);
}, false);

Chrome と FF では、evt.dataTransfer.files には、ユーザーがページにドロップしたすべてのファイルが含まれます。

しかし、IE10 には evt.dataTransfer.files がありません。FileList オブジェクトはまったく存在しません。

何か案は?

4

2 に答える 2

1

dataTransfer.files は IE10 に存在し、IE デベロッパー センターにも記載されています: http://msdn.microsoft.com/en-us/library/ie/hh580307(v=vs.85).aspx

おそらく、javascript エラーか、必ずしも彼とは関係のない何かが発生している可能性があります。ただし、できることは、FileList オブジェクトが存在するかどうかを確認することです。

if(typeof FileList !== 'undefined')

FileList がブラウザに存在する場合、これは true になるはずです。false が返された場合は、おそらく IE10 を使用していないことを意味します。

于 2013-07-29T18:34:35.880 に答える