如何禁止Internet Explorer?

时间:2012-09-11 10:51:08

标签: internet-explorer jsf conditional-comments

我尝试在模板中使用元标记禁止Internet Explorer。

template.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view locale="de_DE">
<h:head>
    <f:facet name="first">
        <h:outputText
            value="&lt;!--[if IE]&gt;
        &lt;h1&gt;No IE support.&lt;/h1&gt;
        &lt;![endif]--&gt;"
            escape="false" />
    </f:facet>
...

以这种方式它不起作用。我怎样才能实现它?

1 个答案:

答案 0 :(得分:2)

你所拥有的不是元标记,而只是IE条件注释,它有条件地显示一段HTML代码,具体取决于最终用户是否使用IE。要在页面正文中显示一段HTML代码,您必须将HTML代码放在<body>中,而不是<head>

<h:body>
    ...
    <h:outputText
        value="&lt;!--[if IE]&gt;
    &lt;h1&gt;No IE support.&lt;/h1&gt;
    &lt;![endif]--&gt;"
        escape="false" />
    ...
</h:body>

请注意,这并不会以任何方式神奇地隐藏页面的其余部分。您必须通过添加包含<link>等内容的CSS #content { display: none; }来扩展此功能。


对于具体问题

无关,因为您基于已经使用OmniFaces的问题历史记录,您可能会发现<o:conditionalComment>有助于以开发人员友好的方式呈现IE条件评论JSF。

<h:body>
    ...
    <o:conditionalComment if="IE">
        <h1>No IE support.</h1>
    </o:conditionalComment>
    ...
</h:body>
相关问题