これを行うには、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>
空のリターンが必要です。そうしないと、テーマは失敗します。