2

私が読んでいないと誰かが言う前に、私は私の質問に関連するほとんどすべてを読んだと言うかもしれません. しかし、私は自分の答えを見つけることができませんでした。したがって、事前定義された div 内に外部ファイルをロードする単純な AJAX スクリプトがあります。これらのスクリプトのコードは次のとおりです。

    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 に答える