在我的标准网页中,我有以下代码,但如何在页面中执行此操作?
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
答案 0 :(得分:6)
您可以通过向UIViewRoot组件添加属性来执行此操作:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.attrs>
<!-- if browser is IE 7 or smaller -->
<xp:attr name="class" value="no-js lt-ie9 lt-ie8 lt-ie7"
rendered="#{javascript:context.getUserAgent().isIE(0,7)}">
</xp:attr>
<!-- if browser is NOT IE 7 or smaller -->
<xp:attr name="class" value="no-js lt-ie9 lt-ie8 lt-ie7"
rendered="#{javascript:!(context.getUserAgent().isIE(0,7))}">
</xp:attr>
</xp:this.attrs>
</xp:view>
lang 属性由XPage的当前语言设置计算。 要执行此应用程序/服务器范围,您必须将其添加到主题。
修改强>
主题必须如下所示:
<control>
<name>ViewRoot</name>
<property>
<name>attrs</name>
<complex type="xp_attr">
<property>
<name>name</name>
<value>class</value>
</property>
<property>
<name>value</name>
<value>#{javascript:
if (context.getUserAgent().isIE(0,6)) {
return 'no-js lt-ie9 lt-ie8 lt-ie7';
}
if (context.getUserAgent().isIE(7,7)) {
return 'no-js lt-ie9 lt-ie8';
}
if (context.getUserAgent().isIE(8,8)) {
return 'no-js lt-ie9';
}
return '';
}</value>
</property>
</complex>
</property>
</control>
需要返回空白,否则主题将失败。
答案 1 :(得分:2)
如果您可以将课程放在&lt; body&gt;中标签,您可以通过主题集中进行,因此无需在每个页面上重复代码:
<control>
<name>ViewRoot</name>
<property>
<name>styleClass</name>
<value>#{javascript:if (context.getUserAgent().isIE(0,6)) {
return 'no-js lt-ie9 lt-ie8 lt-ie7';
} else if (context.getUserAgent().isIE(7,7)) {
return 'no-js lt-ie9 lt-ie8';
} else if (context.getUserAgent().isIE(8,8)) {
return 'no-js lt-ie9';
}}</value>
</property>
</control>
答案 2 :(得分:0)
您可以通过此网页http://xpageswiki.com/web/youatnotes/wiki-xpages.nsf/dx/Browser_compatibility
上的代码查看哪个bowserif then else你可以在计算文本中使用,快速方式。并在if语句中返回正确的html。 您需要将计算文本设置为HTML