当包含<;时,不会加载IE的CSS条件;用户界面:合成模板>;
拥有xhtml当包含<;时,不会加载IE的CSS条件;用户界面:合成模板>;,css,jsf,load,conditional,Css,Jsf,Load,Conditional,拥有xhtml模板.xhtml布局 将其包含到其他.xhtml中,如: <ui:composition template="/template/templ.xhtml"> <h:head> <h:outputText value="<!--[if lt IE 8]><h:outputStylesheet library="css" name="styleie8.css
模板.xhtml
布局
将其包含到其他.xhtml中,如:
<ui:composition template="/template/templ.xhtml">
<h:head>
<h:outputText value="<!--[if lt IE 8]><h:outputStylesheet library="css" name="styleie8.css" /><![endif]-->" escape="false" />
</h:head>
2.
<o:conditionalComment if="lte IE 8">
<link rel="stylesheet" href="styleie8.css" />
</o:conditionalComment>
3.{request.contextPath}/resources
代替简单路径。结果是一样的-我需要重新保存.xhtml模板以加载条件css。下面的一行将只输出您的字符串:
<h:outputText value="<!--[if lt IE 8]><h:outputStylesheet library="css" name="styleie8.css" /><![endif]-->" escape="false" />
我想你的第二个选择很接近。由于缺少上下文路径,您可能遇到了404错误。您的初始代码段是错误的。不能在
中打印
。
是一个JSF组件,本应生成HTML,但在
中,它将按原样打印。如果您在浏览器中打开该页并右键单击“查看源”,则您应该自己发现这一点。这是不对的。webbrowser只理解应该是
的HTML
如果您已将样式表放置在/resources/css/styleie8.css
中,则以下操作应该有效:
<h:outputText value="<!--[if lte IE 8]><link rel="stylesheet" href="#{request.contextPath}/resources/css/styleie8.css" /><![endif]-->" escape="false" />
3) 如果您提供了正确的URL,应该可以工作。您可以提供您已经尝试过的内容生成的HTML吗?
请注意,必须下载CSS文件的是Web浏览器,而不是Web服务器(或JSF),而不是Web服务器(或JSF)。请检查是否不仅仅是浏览器缓存导致了这种情况。我已经尝试了CTRL-R
和CTRL-F5
。没有任何帮助。同样的问题出现在IE Tester
和纯IE浏览器中。条件在经过一些更改后加载,并仅在Tomcat运行时重新保存在模板xhtml中。这是主要问题。BalusC,也许我应该尝试复合组件,对吧,
应该打印一个
,而不是一个
,但是请注意,这样使用
将无法工作,因为它将被重新定位。他的问题毕竟令人困惑,因为备选方案2应该完全有效。这个问题再次出现。我说过,这是由于使用了模板、条件css,只有在一些技术完成后才在运行时加载,我尊重omnifaces minimalizm,但在我的例子中它不起作用。我再次注意:当xhtml重新保存时,它可以正常工作,例如Tomcat从
开始,UI已损坏。然后我在xhtml中更改了一些内容并重新保存,它工作正常。如果在启动Tomcat时它不工作,但在“触摸”文件服务器端时它工作,那么我对生成的HTML和浏览器的请求非常好奇。你能发布这两个HTML片段吗?如果可能的话,还可以发布Firebug(或IE替代品)的屏幕截图,显示浏览器试图加载的内容?
<h:outputText value="<!--[if lt IE 8]>" escape="false" />
<h:outputStylesheet library="css" name="styleie8.css" />
<h:outputText value="<![endif]-->" escape="false" />
<h:outputText value="<!--[if lte IE 8]><link rel="stylesheet" href="#{request.contextPath}/resources/css/styleie8.css" /><![endif]-->" escape="false" />
<o:conditionalComment if="lte IE 8">
<link rel="stylesheet" href="#{request.contextPath}/resources/css/styleie8.css" />
</o:conditionalComment>