2

我有一个特定的代码,它在 Google chrome 上运行良好,但在 IE9 上运行良好。我有一个 div,我将图像从计算机拖到 div 并在 Google Chrome 上加载,但在 IE9 上不加载。请帮忙..!

<div id="holder" ></div> 
    <p id="status">
        Please Drag your image from computer and paste it on the div to view it.
    </p>
</div>

jQuery:

var holder = document.getElementById('holder'), 
state = document.getElementById('status'); 

if (typeof window.FileReader === 'undefined') { 
    state.className = 'fail'; 
} else { 
   state.className = 'success'; 
   state.innerHTML = 'Please Drag your image from computer and paste it on the div to view it.'; 
} 

holder.ondragover = function () { 
    this.className = 'hover'; 
    return false; 
}; 

holder.ondragend = function () { 
    this.className = ''; 
    return false; 
}; 

holder.ondrop = function (e) { 
    this.className = ''; 
    e.preventDefault();    
    var file = e.dataTransfer.files[0], 
    reader = new FileReader(); 
    reader.onload = function (event) { 
        alert(event); 
        console.log(event.target); 
        holder.style.background = 'url(' + event.target.result + ') no-repeat center'; 
    }; 

    console.log(file); 
    reader.readAsDataURL(file);
    return false; 
};

可能是什么问题呢??

4

2 回答 2

3

IE9 浏览器不支持HTML5 File API

UPD:和 IE9 中的 HTML5拖放API 支持只是部分的,您尝试的部分 ( dataTransfer.files) 不受支持。在这里你可以看到哪些浏览器支持拖放 HTML5 API

于 2012-09-03T10:41:47.340 回答
1

恐怕要等到IE10 2010.3版本才支持查看你目前使用的是哪个版本

于 2012-09-03T10:44:06.697 回答