我想使用Spring和.jspx网页创建一个Web应用程序。
我的问题是如何在jspx中为IE添加条件注释?它们似乎没有被解释。
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
此外,我希望我的网页成为HTML5兼容品。
我尝试了一些方法,但我在IE9中遇到了不兼容的问题(似乎无法识别标题和部分)。
编辑:
这是我的头标记
<meta content="text/html" charset="UTF-8" http-equiv="content-type" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<!--[if lte IE 9]>
<link rel="stylesheet" type="text/css" href="css/style_IE8.css" />
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
但是,如果我查看IE9下的源代码,我看不到html5shiv和我的辅助css的链接。
答案 0 :(得分:7)
根据JSP 2.0规范的1.5.2节,jsp文档中的注释被忽略:
JSP文档中的注释使用XML语法,如下所示:
<!-- comments ... ->
完全忽略内容的正文。 JSP文档中的注释 可用于文档目的和“注释”部分 JSP页面。
第6.2.2节显示了使用jsp:text
和CDATA部分的示例,这些部分可以适应您的用例,请尝试以下代码:
<jsp:text><![CDATA[<!--[if lte IE 9]>]]></jsp:text>
...
<jsp:text><![CDATA[<![endif]-->]]></jsp:text>
答案 1 :(得分:3)
经过大量的尝试,我发现使用ASCII代码的注释符号在.jspx页面上运行得非常好。试试这段代码:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="css/screenIE.css" />
<![endif]-->
答案 2 :(得分:0)
对于使用htmlshiv导入的HTML 5兼容性是正确的。确保head标签内有条件导入。这与jstl无关。
<head>
//Other imports
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
答案 3 :(得分:0)
好吧,如果你查看生成的HTML,你会发现,jstl将在条件注释中转义出来,所以它不起作用:
<!--[if IE 9]><div id="ie-9"><![endif]-->
所以Abhi,你需要告诉jstl单独留下条件部分,告诉它不要解析它。 Jstl不会忽略它,只是因为你把它放在了。
中