简而言之,我想这样做(条件部分,我知道如何包含<h:outputStyleSheet>
):
<link rel="stylesheet" href="[path-to-dist]/leaflet.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="[path-to-dist]/leaflet.ie.css" />
<![endif]-->
在 JSF 2 中。
谢谢!
简而言之,我想这样做(条件部分,我知道如何包含<h:outputStyleSheet>
):
<link rel="stylesheet" href="[path-to-dist]/leaflet.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="[path-to-dist]/leaflet.ie.css" />
<![endif]-->
在 JSF 2 中。
谢谢!
采用<h:outputText escape="false">
<h:outputText value="<!--[if lte IE 8]><link rel="stylesheet" type="text/css" href="[path-to-dist]/leaflet.ie.css"/><![endif]-->" escape="false" />
是的,这是一条丑陋的路线,但实际上没有其他方法,因为 Facelets 本质上是一种基于 XML 的视图技术。
更新:如果您碰巧使用 JSF 实用程序库OmniFaces,您可以只使用它的<o:conditionalComment>
组件。
<o:conditionalComment if="lte IE 8">
<link rel="stylesheet" href="[path-to-dist]/leaflet.ie.css" />
</o:conditionalComment>
我认为您应该能够包装<h:outputText value="#{bean.pathToDist}" />
到您的链接。喜欢<link rel="stylesheet" href="<h:outputText value="#{bean.pathToDist}" />/leaflet.css" />
。
尝试:
<f:verbatim>
<!--[if IE]>
<link rel="stylesheet" href="path/to/file.css" />
<![endif]-->
</f:verbatim>
我试过这个:
<h:outputStylesheet library="css" name="blueprint/screen.css" />
<f:verbatim><!--[if lt IE 8]></f:verbatim>
<h:outputStylesheet library="css" name="blueprint/ie.css" />
<f:verbatim><![endif]--></f:verbatim>
<h:outputStylesheet library="css" name="esap.css" />
html输出是:
<!--[if lt IE 8]><![endif]-->
<link rel="stylesheet" media="screen" type="text/css" href="/esap/javax.faces.resource/blueprint/screen.css.xhtml?ln=css" />
<link rel="stylesheet" media="screen" type="text/css" href="/esap/javax.faces.resource/blueprint/ie.css.xhtml?ln=css" />
<link rel="stylesheet" media="screen" type="text/css" href="/esap/javax.faces.resource/esap.css.xhtml?ln=css" />
条件 html 放在样式表链接之前。