2009-09-05 117 views
2

在有人说我没读过书之前,我可能会说我几乎读了与我的问题有关的所有东西。但我找不到我的答案。 所以,我有一个简单的AJAX脚本,在预定义的div中加载我的外部文件。这是这些脚本的代码:AJAX document.getElementById()。IE的innerHTML问题?

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,歌剧,铬,Safari浏览器),但里面IE7不想注入我的外部PHP文件到预定义的DIV。它始终保持默认的文本,我莱特内格... 我认为这个问题是此行中:

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

因此,任何建议如何解决这个问题的IE(7及以上)?

+1

Downvote删除。这个问题被低估了,为什么?严重的是,为什么? – karim79 2009-09-05 23:03:01

+0

我不认为我曾经见过之前使用过的支架压痕的风格,直到现在。 – 2009-09-05 23:16:09

+0

可能是因为我的英文不好:)) 不,严重的是,我的问题很简单,甚至对大多数专家来说也可能是愚蠢的。我为此感到抱歉... – Spoonk 2009-09-05 23:20:38

回答

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

+ 1'd,甚至更短将是$('#column_twitter')。load('../ includes/home/twitter.php'); – karim79 2009-09-05 23:00:12

+0

非常感谢,我需要!干净简单!非常感谢!!! – Spoonk 2009-09-05 23:12:58

+1

@ karim79 - 是的,那绝对会更短。尽管我很少使用负载,因为通常我会传回数据,或者在获取数据后我想要做更复杂的事情。 – tvanfosson 2009-09-05 23:16:28

1

我知道这是一个老问题,但我今天遇到了类似的事情,我想将它张贴出来给别人的情况下,您遇到此问题。这可能是由于您的“column_twitter”标签嵌入多个DIV语句或表格中造成的。出于某种原因,IE7不喜欢这个。

祝你好运!

相关问题