在有人说我没看过之前,我可能会说我几乎读到了与我的问题相关的所有内容。但我找不到答案。 所以,我有一个简单的AJAX脚本,可以将我的外部文件加载到预定义的div中。这是这些脚本的代码:
function loadTwitter()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your Browser Don't Support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById("column_twitter").innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open("GET","../includes/home/twitter.php",true);
xmlHttp.send(null);
}
它在我测试的所有浏览器(FF,Opera,Chrome,Safari)中运行良好,但在IE7内部不想将我的外部php文件注入预定义的div。它始终保持我在div里面的默认文本... 我认为问题出在这一行:
document.getElementById("column_twitter").innerHTML=xmlHttp.responseText;
那么,有任何建议如何为IE(7及以上版本)修复此问题吗?
答案 0 :(得分:6)
我认为你最好使用jQuery这样的javascript框架,让你专注于实现你的功能,而不是浏览器兼容性和低级网络交互。使用jQuery你可以做到:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
</script>
<script type="text/javascript">
$.get( '../includes/home/twitter.php', function(data) {
$('#column_twitter').html( data );
});
</script>
答案 1 :(得分:1)
我知道这是一个古老的问题,但今天我遇到了类似的问题,如果您遇到此问题,我想将其发布给其他人。这可能是由于您的“column_twitter”标记嵌入在多个DIV语句或表中。 IE7出于某种原因不喜欢这个。
祝你好运!