답변

2

사용 Modernizr.filereader

의 dataTransfer가 모든 브라우저을 FileReader 트릭을 할해야합니다 그래서 만약 감지 (웹킷 등)에 노출하지 undetectables 중 하나입니다 감지합니다. 그리고 나는 어떤 브라우저 (안드로이드/사파리 등)에 있었는지 기억할 수 없지만 파일은 dataTransfer.files 대신 target.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 
}