【发布时间】:2011-08-24 02:51:24
【问题描述】:
我有一个在 JSF 2.0 + Richfaces 3.3.3 上运行的网络应用程序。 在除 IE9 之外的所有浏览器上看起来都很棒。
在没有兼容模式的 IE9 中(有,没问题)它看起来像这样(忽略涂黑的文本):
注意所有组件是如何被框起来的,而 CSS 是如何被忽略的(没看到?)
JSP 看起来像这样(仅相关的东西):
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<link rel="stylesheet" href="css/pageStyle.css" type="text/css" >
</head>
<body>
...
</body>
css 位于C:\apache\tomcat\webapps\MyWebApp\css\pageStyle.css
有人知道吗? 谢谢!
更新
通过使用network 选项卡捕获数据包,对“开发人员工具”进行了一些研究。
css 文件使用 Type=text/html 而不是 text/css 发送。我猜这就是this question 的问题。
但我仍然不知道为什么会这样。可以看到,文件类型在<link>标签中明确标注为type="text/css。
另一个有趣的观察 - 在 Chrome 开发者工具中检查同一个对象,内容类型是 text/css 所以它可能是一个 IE9 错误。我很困惑...
【问题讨论】:
-
浏览器(js控制台、开发者工具)是否有错误?
-
感谢@Matt Handy。请参阅问题中的更新。
-
你能在服务器上检查 .css 文件的 MIME 类型吗?我非常怀疑这是问题所在,除非有人在摆弄。只是为了记录,链接标签应该是自动关闭的,因为你有 xhtml 文档类型(与元标签相同)。我也会尝试看看哪些有效,哪些无效。诸如重新排序属性之类的东西,以便类型位于 href 属性之前。谁知道?什么事情都可能发生。这已经是一个足够奇怪的错误了。
-
我会考虑更新到 Richfaces 4 final 和 mojarra 2.1.1(如果您使用的是 mojarra)。我在以前版本的 Richfaces/JSF 中遇到了 IE9 问题,但它们似乎在最新版本中得到了解决。
-
@Dave - 谢谢。由于我们在旧项目中使用 JSP,因此迁移到 xhtml 的成本太大。
标签: css jsf richfaces internet-explorer-9