2012-12-02 104 views
0

如果此問題之前已被詢問 - 請原諒我,我無法找到它。IE不在DIV內使用外部CSS

我將AJAX的HTML文檔轉換爲javascript格式。此代碼是一個簡化。

Chrome-23和FF-8使用ietest.css文件呈現HTML,但IE-9沒有。使用 iframe而不是div將會很困難。

歡迎任何建議。

感謝, 約翰在多倫多

<!-- 
Style sheet contents: 
p.bu1 {color: Blue; font-size:2em; font-weight:bold;} 
p.rd1 {color: Red; font-size:2em; font-weight:bold;} 
--> 

<html> 
<head> 
<script> 
function write_doc() 
{ 
    document.getElementById('div').innerHTML = "<link rel='stylesheet' type='text/css' href='ietest.css?v=1'>\ 
    <p class='bu1'>BLUE</p><p class='rd1'>RED</p>"; 
} 
</script> 
</head> 
<body> 
<div id='div' onclick='write_doc()'>Click Me</div> 
</body> 
</html> 
+1

鏈接元素只能在IE中的頭標記內使用:http://msdn.microsoft.com/en-us/library/ms535848%28v=vs.85%29.aspx – Teemu

回答

0

感謝Teemu,

我發現了一個變通。

我在查詢頁面加載一個CSS文件(涵蓋了大部分引用的樣式),然後在發送給div之前預先引用其中一個類的HTML引用。

例如


在CSS文件: ... span.ie_dummy {字體大小:0.1em;} ...

腳本:

VAR archdoc =「<跨度類='ie_dummy'> & nbsp; </span>「+ xmlhttp.responseText;


(& NBSP;必須使用一個空格字符不起作用。)

這需要我去合併所有的CSS文件的歸檔,擺脫任何含糊之處。我很想讓IE用戶留下不帶風格的文字。也許他們會切換瀏覽器。