【问题标题】:JSF2.1.7 renders <!--[if IE ]> tag as textJSF2.1.7 将 <!--[if IE ]> 标签呈现为文本
【发布时间】:2012-04-17 16:36:01
【问题描述】:

我们将 JSF 升级到最新版本 2.1。以前我们在 JSF2.0.4 中。我们的 xhtml 页面有 Targeting IE Using Conditional Comments 标签,它没有呈现为文本。

但在新的 JSF2.1.7 中,这将在 IE 中呈现为文本。任何想法如何解决这个问题?

【问题讨论】:

    标签: internet-explorer jsf-2 facelets conditional-comments


    【解决方案1】:

    请改用&lt;h:outputText escape="false"&gt;

    <h:outputText value="&lt;!--[if IE]&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;ie.css&quot;/&gt;&lt;![endif]--&gt;" escape="false" />
    

    【讨论】:

    • 抱歉,现在无法回答这个问题。我们总是使用javax.faces.FACELETS_SKIP_COMMENTS。这些症状至少表明 cmets 的呈现已更改为不再解释 cmets 中包含的任何 HTML/JSF 代码(当然,这是有道理的)。
    • 丑陋的解决方案,但看起来这是唯一可能的方法。
    • 不久之后,OmniFaces 提供了一个&lt;o:conditionalComment&gt; 组件,用于不那么难看的目的。另见展示:showcase.omnifaces.org/components/conditionalComment
    【解决方案2】:

    你可以这样做:

    <f:verbatim>
      <!--[if lte IE 8]>
        <script src="js/conditional-comment.js"></script>
      <![endif]-->
    </f:verbatim>
    

    【讨论】:

    • 自 JSF 2.0 起,&lt;f:verbatim&gt; 已被弃用。
    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2022-01-24
    • 2011-08-31
    • 2016-08-20
    • 2013-10-06
    相关资源
    最近更新 更多