![](/img/trans.png)
[英]iFrame doesn't work in Chrome (works fine in FF, IE and Safari)
[英]inner html doesn't work in ie but works in ff
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var Buffer= xmlHttp.responseText;
Buffer= Buffer.split("#%~");
document.getElementById("Template").innerHTML = Buffer[0];
document.getElementById("Template1").innerHTML = Buffer[1];
alert(Buffer+"Buffer");
上面的代码在ie中不起作用,但在ff中可以正常工作。 我什至尝试了其他选择,但很想得到它。 警报在ie&ff中显示相同的值,但是它没有用,因为它不会在ie中打印。 有人可以帮忙吗?
Internet Explorer没有标准的XMLHttpRequest
对象,因此您必须使用ActiveXObject
来自mdn的摘要
var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
确保httpRequest在IE中也能正常工作。 在旁注中,您可能希望使用console.log
插入alert
然后在开发人员工具中获得不错的输出(Windows上为F12)
您无需说明,但是需要为某些浏览器(尤其是Internet Explorer)以不同的方式创建xmlHttp
对象:
var xhttp = function(){
var obj = null, er = null;
if(typeof XMLHttpRequest != 'undefined'){
obj = new XMLHttpRequest();
}
else {
try{
obj = new ActiveXObject('Msxml2.XMLHTTP');
}catch(er){
try{
obj = new ActiveXObject('Microsoft.XMLHTTP');
}catch(er){
obj = null;
}
}
}
return obj;
}
以下代码的用法是:
xmlHttp = xhttp();
从那时起,您可以使用与您大致相同的方式来使用xmlHttp
,要注意某些陷阱/差异,这就是使用Adrian所说的库的好原因。最好先了解潜在差异。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.