2011-02-11 36 views
0

下面的代碼,我有一個Ajax請求的一個片段。請求可以工作,但是當請求被處理時,頁面不會顯示任何CSS(即使我在同一個目錄中都有)。爲了測試這一點,我將請求指向了我網站上已存在的頁面。任何幫助?提前致謝。Ajax請求的工作原理,但沒有CSS

<html> 
<head> 
<script type="text/javascript"> 
function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    { 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","ajaxtest.html",true); 
xmlhttp.send(); 
} 
</script> 
</head> 
<body> 
<div id="myDiv"><h2>Let AJAX change this text</h2></div> 
<button type="button" onclick="loadXMLDoc()">Change Content</button> 
</body> 
</html> 
+0

是'ajaxtest.html`加載任何CSS文件? – 2011-02-11 21:01:36

回答

1

在通過Ajax的網頁CSS注入並非所有的瀏覽器都支持(無論在線或通過<link>標籤)。

的解決方案是加載CSS中包含Ajax調用的頁面的Ajax內容。

0

根據W3 Schools,樣式表的<link>元素只能出現在文檔<head>中。

因此,如果您包括那些不會被加載整個外部文件的您<div>中的內容(鏈接自己的風格)。

0

的問題是,你是用覆蓋的innerHTML的H2標籤。如果你有類似的東西

<h2 id="myDiv">Let AJAX change this text</h2> 

它會保持h2。或者你需要有AJAX傳回:

<h2>What I want to change it to</h2> 
0

移動你Ajax請求pege內<風格>元素內你的CSS。應該做的伎倆。

第二種方法是插入你用Ajax請求到從巫婆您請求的頁面的CSS文件的頁面的CSS。