Tôi sẽ tư vấn cho bạn trước khi tôi có trải nghiệm JavaScript giới hạn. JavaScript/HTML5/jQuery Tải lên Kéo và Thả - "Loại Lỗi Không bắt buộc: Không thể đọc tệp 'thuộc tính' không xác định"
Hiện nay, tôi có mã JavaScript:
$('#xhr-filebox').bind({
"dragover": HandleDragEvent,
"dragleave": HandleDragEvent,
"drop": HandleDropEvent
});
function HandleDropEvent(e){
var files = e.target.files || e.dataTransfer.files;
UploadFile(files[0]);
}
(một số mã được bỏ qua, nhưng tôi sẽ bổ sung thêm nếu bạn yêu cầu)
... và HTML:
<div class="filebox" id="xhr-filebox">
<p id="xhr-action">...or click me to pick one.</p>
</div>
Tuy nhiên, khi tôi kéo tệp vào đó, bảng điều khiển Chrome JS nói điều này:
Uncaught TypeError: Cannot read property 'files' of undefined
Tuy nhiên, nó có thể nhận được đối tượng FileList khi đọc từ đầu vào tệp.
Thật kỳ lạ, khi tôi đăng nhập đối số sự kiện (console.log (e)), nó có thể ghi nó như f.event, trong khi trong một kịch bản tương tự của tôi, nó có thể ghi nó như MouseEvent (ảnh chụp màn hình: http://i.stack.imgur.com/3krcT.png)
Không giống như hàm bind() trong jQuery, điều này sử dụng hàm addEventListener() của một đối tượng DOM được trả về bởi getElementById(), IE đây là JavaScript thuần túy. Tôi đã thử phương pháp đó nhưng không có gì mới xảy ra.
bạn có thể xem câu hỏi của tôi http://stackoverflow.com/questions/27898745/how-to-get-the-filename-in-javascript-from-input-file-tag-in-ie-browser. .. cảm ơn – Hitesh