IE6和7问题与innerHTML
我在我开发的应用程序中使用了ajax,但是IE6和IE7存在问题,它们不支持innerHTML。必须使用什么来解决此问题并与跨浏览器兼容?
示例代码如下所示。
function showFAQ(src, target){
xhr.onreadystatechange=function(){
if(xhr.readyState == 4 && xhr.status == 200){
document.getElementById('resultDiv').innerHTML=xhr.responseText;
}
}
str = "?action=get&request="+src;
xhr.open("GET", "./requests/data.php"+encodeURI(str), true);
xhr.send();
}
在FireFox中,IE8和其他主流浏览器工作正常。问题出在IE6和7上。
任何帮助/建议将不胜感激。
由于
答案 0 :(得分:1)
IE无法使用innerHTML更新只读元素...请考虑这一点......:)
答案 1 :(得分:0)
尝试
var xmlHttp;
function getXmlHttpObject() {
var xmlHttp = null;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {
// Internet Explorer 6+
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
var xhr = getXmlHttpObject();
<小时/> 更新
尝试添加
xhr.send(null);
后
str = "?action=get&request="+src;
xhr.open("GET", "./requests/data.php"+encodeURI(str), true);
答案 2 :(得分:0)
innerHTML。我认为你的问题是使用xmlhttprequest对象。只有IE7支持那个。但是,您可以将ActiveXObject作为stealthyninja的代码使用。