5

我想使用 Spring 和 .jspx 网页创建一个 Web 应用程序。

我的问题是如何将 IE 的条件注释放在 jspx 中?他们似乎没有被解释。

<!--[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 的链接。

4

4 回答 4

7

根据 JSP 2.0 规范,第 1.5.2 节,jsp 文档中的注释被忽略:

JSP 文档中的注释使用 XML 语法,如下所示:

<!-- comments ... ->

内容的主体被完全忽略。JSP 文档中的注释可用于文档目的和“注释掉”JSP 页面的部分。

第 6.2.2 节显示了一个示例 usingjsp:text和 CDATA 部分,可以适应您的用例,请尝试以下代码是否有效:

<jsp:text><![CDATA[<!--[if lte IE 9]>]]></jsp:text>
...
<jsp:text><![CDATA[<![endif]-->]]></jsp:text>
于 2012-01-23T13:13:43.573 回答
3

经过大量尝试后,我发现使用 ASCII 码作为注释符号在 .jspx 页面上效果很好。试试这段代码:

&lt;&#33;&#45;&#45;[if IE]>

    <link rel="stylesheet" type="text/css" href="css/screenIE.css" />

&lt;&#33;[endif]-->
于 2012-08-24T13:59:32.043 回答
0

对于 HTML 5 兼容性,使用 htmlshiv 导入是正确的。确保在 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>
于 2012-01-23T10:11:29.167 回答
0

好吧,如果您查看生成的 HTML,您会意识到,jstl 会将条件注释中的内容转义,因此它将不起作用:

<!--[if IE 9]&gt;&lt;div id=&quot;ie-9&quot;&gt;&lt;![endif]-->

所以Abhi,你需要告诉jstl不要理会条件部分,告诉它不要解析它。Jstl 不会忽略它,只是因为你把它放在了 .

于 2013-05-30T13:48:56.800 回答