![](/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.