2009-09-05 90 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不喜歡這個。

祝你好運!

相關問題