Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当包含<;时,不会加载IE的CSS条件;用户界面:合成模板>;_Css_Jsf_Load_Conditional - Fatal编程技术网

当包含<;时,不会加载IE的CSS条件;用户界面:合成模板>;

当包含<;时,不会加载IE的CSS条件;用户界面:合成模板>;,css,jsf,load,conditional,Css,Jsf,Load,Conditional,拥有xhtml模板.xhtml布局 将其包含到其他.xhtml中,如: <ui:composition template="/template/templ.xhtml"> <h:head> <h:outputText value="&lt;!--[if lt IE 8]&gt;&lt;h:outputStylesheet library=&quot;css&quot; name=&quot;styleie8.css

拥有xhtml
模板.xhtml
布局

将其包含到其他.xhtml中,如:

<ui:composition template="/template/templ.xhtml">
<h:head>
 <h:outputText value="&lt;!--[if lt IE 8]&gt;&lt;h:outputStylesheet library=&quot;css&quot; name=&quot;styleie8.css&quot; /&gt;&lt;![endif]--&gt;" 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="&lt;!--[if lt IE 8]&gt;&lt;h:outputStylesheet library=&quot;css&quot; name=&quot;styleie8.css&quot; /&gt;&lt;![endif]--&gt;" escape="false" />

我想你的第二个选择很接近。由于缺少上下文路径,您可能遇到了404错误。

您的初始代码段是错误的。不能在
中打印
是一个JSF组件,本应生成HTML,但在
中,它将按原样打印。如果您在浏览器中打开该页并右键单击“查看源”,则您应该自己发现这一点。这是不对的。webbrowser只理解应该是
的HTML

如果您已将样式表放置在
/resources/css/styleie8.css
中,则以下操作应该有效:

<h:outputText value="&lt;!--[if lte IE 8]&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;#{request.contextPath}/resources/css/styleie8.css&quot; /&gt;&lt;![endif]--&gt;" 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="&lt;!--[if lt IE 8]&gt;" escape="false" />
<h:outputStylesheet library="css" name="styleie8.css" />
<h:outputText value="&lt;![endif]--&gt;" escape="false" />
<h:outputText value="&lt;!--[if lte IE 8]&gt;&lt;link rel=&quot;stylesheet&quot; href=&quot;#{request.contextPath}/resources/css/styleie8.css&quot; /&gt;&lt;![endif]--&gt;" escape="false" />
<o:conditionalComment if="lte IE 8">
    <link rel="stylesheet" href="#{request.contextPath}/resources/css/styleie8.css" />
</o:conditionalComment>