我试图从同一域内的图像路径(http 路径)加载图像,我一直使用的方法是通过 XmlHttpRequest 并且它在 Chrome 上正常工作,然后我在 HTML5 中的 img 标记内显示图像,
当我尝试在IE10中加载它时,它不起作用,状态和readyState都正常,但是图像不会加载,当我检查XmlHttpRequest属性'response'时,它在Chrome上返回了blob对象,但是它在 IE10 上返回 undefined,
注意 :我在 Chrome 上使用了 onload 事件,但在 IE 上我使用了 onreadystatechanged
这是我正在使用的代码:
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://pathtomyimage/example.jpg", true);
xhr.responseType = "blob";
xhr.onreadystatechange = function (e) {
if (xhr.readyState==4 && xhr.status==200) {
alert(xhr.response+" in IE");
var i;
i= document.getElementById("bg");
i.src = URL.createObjectURL(xhr.response);
}
};
xhr.onload = function (e) {
if (this.status == 200) {
var myBlob = this.response;
alert(myBlob+" inChrome");
var i;
i= document.getElementById("bg");
i.src = URL.createObjectURL(myBlob);
}
};
xhr.onerror = function (e) {
alert(e+" error");
};
xhr.send();
在 onreadystatechange 内部,IE10 上的警报返回 undefined,而 onload 内部的警报在 Chrome 上返回 blob-object,那么如何像在 Chrome 上一样在 IE10 上显示图像?