2012-12-02 71 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用户留下不带风格的文字。也许他们会切换浏览器。