2

在有人说我没有阅读之前,我可以说我几乎阅读了与我的问题相关的所有内容。但我找不到我的答案。所以,我有一个简单的 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 及更高版本)解决这个问题吗?

4

2 回答 2

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>
于 2009-09-05T22:57:47.853 回答
1

我知道这是一个老问题,但我今天遇到了类似的事情,我想把它发布给其他人,以防你遇到这个问题。这可能是由于您的“column_twitter”标签被嵌入到多个 DIV 语句或表中造成的。IE7 出于某种原因不喜欢这个。

祝你好运!

于 2012-05-27T00:21:05.933 回答