Jspx 文件和条件注释

发布于 2024-12-28 08:20:00 字数 866 浏览 0 评论 0原文

我想使用 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 中遇到不兼容问题(似乎无法识别标题和部分)。

编辑:

这是我的 head 标签

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

I'd like to create a web application using Spring and .jspx web pages.

My question is how can I put conditional commentaries for IE in jspx? They seem to be not interpreted.

<!--[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]-->

Also I would like my web pages to be HTML5 compliants.

I've tried some methods but I got incompatibilty issues in IE9 (seems to not recognize header and section).

Edit:

Here is my head tag

<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]-->

But, if I look at the source under IE9 I don't see the links to html5shiv and my secondary css.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

生死何惧 2025-01-04 08:20:00

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

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

第 6.2.2 节显示了一个使用 jsp:text 和 CDATA 部分的示例,可以根据您的用例进行调整,请尝试以下代码是否有效:

<jsp:text><![CDATA[<!--[if lte IE 9]>]]></jsp:text>
...
<jsp:text><![CDATA[<![endif]-->]]></jsp:text>

According to the JSP 2.0 specification, section 1.5.2, comments in jsp documents are ignored:

Comments in JSP documents use the XML syntax, as follows:

<!-- comments ... ->

The body of the content is ignored completely. Comments in JSP documents
may be used for documentation purposes and for “commenting out” portions of a
JSP page.

Section 6.2.2 shows an example using jsp:text and CDATA sections which could be adapted to your usecase, please try if the following code works:

<jsp:text><![CDATA[<!--[if lte IE 9]>]]></jsp:text>
...
<jsp:text><![CDATA[<![endif]-->]]></jsp:text>
聆听风音 2025-01-04 08:20:00

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

<!--[if IE]>

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

<![endif]-->

After a vast quantity of attempts, I found that using ASCII codes for the comment symbols worked very nicely on .jspx pages. Try this bit of code:

<!--[if IE]>

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

<![endif]-->
策马西风 2025-01-04 08:20:00

对于 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>

For HTML 5 compatibility using the htmlshiv imports are correct. Make sure you have the conditional imports inside the head tags. This has nothing to do with 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>
不奢求什么 2025-01-04 08:20:00

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

<!--[if IE 9]><div id="ie-9"><![endif]-->

所以 Abhi,你需要告诉 jstl 保留条件部分,告诉它不要不解析它。 jstl 不会仅仅因为你把它放在 .

Well, if you view the generated HTML, you will realize, that jstl will escape the stuff out in the conditional comment, so it will not work:

<!--[if IE 9]><div id="ie-9"><![endif]-->

So Abhi, you need to tell jstl to leave the conditional part alone, tell it to don't parse it. Jstl will not ignore it, just because you've put it in the .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文