Css <--[如果IE]>;条件注释在Facelets中呈现为HTML转义
我正在尝试使用IE条件注释来声明CSS资源:Css <--[如果IE]>;条件注释在Facelets中呈现为HTML转义,css,internet-explorer,jsf,facelets,conditional-comments,Css,Internet Explorer,Jsf,Facelets,Conditional Comments,我正在尝试使用IE条件注释来声明CSS资源: <h:outputStylesheet name="common.css" library="css" /> <!--[if IE]> <link rel="stylesheet" type="text/css" href="#{resource['css:ie.css']}" /> <![endif]--> 然而,这似乎不起作用。我在生成的HTML输出中看到了这一点: &l
<h:outputStylesheet name="common.css" library="css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="#{resource['css:ie.css']}" />
<![endif]-->
然而,这似乎不起作用。我在生成的HTML输出中看到了这一点:
<link type="text/css" rel="stylesheet" href="/context/faces/javax.faces.resource/common.css?ln=css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="/context/faces/javax.faces.resource/ie.css?ln=css"/>
<![endif]-->
它在没有条件注释的情况下运行良好。我没有使用上下文参数。这是如何造成的,我如何解决它?这确实不起作用,因为Facelets隐式地将HTML转义到注释的内容中。您最好将其放入
中,如下所示:
然而,这是一条丑陋的路线。有一个明确的目的:
<o:conditionalComment if="IE">
<link rel="stylesheet" type="text/css" href="#{resource['css:ie.css']}" />
</o:conditionalComment>
我建议
因此,您只需转义一小段代码,#{request.contextPath}就能按预期工作它是否存在于生成的HTML中?在浏览器中打开页面,右键单击并查看Source.nope,这很奇怪,我在IE或FireFox中都找不到它。outputText解决方案工作得很好,但param解决方案仍然不工作,我不知道为什么。
<h:outputStylesheet name="css/common.css" />
<o:conditionalComment if="IE">
<link rel="stylesheet" type="text/css" href="#{resource['css/ie.css']}" />
</o:conditionalComment>