2

是否可以将条件样式表添加到 xpage。

在 html 中这样做:

<!--[if lt IE 8]><link rel="stylesheet" href="../../blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->

虽然关于添加计算字段设置为 HTML 和代码 javascript,如:

return '<!--[if lt IE 8]><link rel=\"stylesheet\" href=\"../../blueprint/ie.css\" type=\"text/css\" media=\"screen, projection\"><![endif]-->'

但随后它将包含在页面正文中,而不是包含在其他样式表的标题中。

需要使用http://blueprintcss.org进行概念验证。

4

2 回答 2

5

您可以使用 SSJS 的渲染属性来仅显示 IE 的元素:

渲染="#{javascript:context.getUserAgent().isIE()}"

然后,只有在使用 Internet Explorer 打开 XPage 时,您的 CSS 资源才会添加到生成的 HTML 响应中。

编辑:
在您的情况下,这应该符合您的要求:

<xp:this.resources>
   <xp:styleSheet href="../../blueprint/ie.css"
      rendered="#{javascript:context.getUserAgent().isIE(0,7)}"
      media="screen, projection">
   </xp:styleSheet>
</xp:this.resources>
于 2012-06-06T03:24:27.427 回答
5

Xpage 主题将非常适合此。note 安装中包含一个示例。

转到 C:\ Notes 目录\xsp\nsf\themes

复制 webStandard.theme,重命名为 webStandard。xml并在您选择的编辑器中打开,这将向您展示许多主题可以做什么的示例。应用属性、添加资源、通过表达式计算这些等。

片段:

    <resource rendered="#{javascript:context.isDirectionRTL()}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspRTL.css</href>
    </resource>

    <!-- IE Specific -->
    <resource rendered="#{javascript:context.getUserAgent().isIE(0,6)}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspIE06.css</href>
    </resource>
    <resource rendered="#{javascript:context.getUserAgent().isIE(7,8)}">
        <content-type>text/css</content-type>
        <href>/.ibmxspres/global/theme/webstandard/xspIE78.css</href>
    </resource>
于 2012-06-06T08:25:14.517 回答