Pergunta

Antes de alguém dizer que não li, posso dizer que leio quase tudo ligado à minha pergunta. Mas não consegui encontrar minha resposta. Então, eu tenho um script AJAX simples que carrega meu arquivo externo dentro do Div predefinido. Este é o código daqueles scripts:

    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);
  }

Funciona muito bem em todos o navegador que eu testo (FF, Opera, Chrome, Safari), mas dentro do IE7 não quer injetar meu arquivo PHP externo na div. Ele sempre permanece o texto padrão que eu escrevo dentro da div ... e acho que o problema está nesta linha:

document.getElementById("column_twitter").innerHTML=xmlHttp.responseText;

Então, alguma sugestão de como corrigir isso para o IE (7 ou acima)?

Foi útil?

Solução

Eu acho que você seria melhor usando uma estrutura JavaScript, como jQuery Isso permite que você se concentre em implementar seus recursos em vez de compatibilidade do navegador e interação de rede de baixo nível. Usando o jQuery você pode simplesmente fazer:

<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>

Outras dicas

Sei que essa é uma pergunta antiga, mas encontrei uma coisa semelhante hoje e queria publicá -la para outros, caso você experimente esse problema. Provavelmente, isso está sendo causado pela sua tag "Column_twitter" sendo incorporada em várias declarações de divisão ou em uma tabela. O IE7 não gosta disso por algum motivo.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top