1

JavaScript 条件に基づいてレンダリングされたプロパティを計算する方法はありますか?

例えば:

if document.compactMode == "BackCompat"

私が見つけたすべての例; SSJS を使用 #{javascript:condition;}

例えば:

<resource rendered="#{javascript:context.getUserAgent().isIE(0,6)}">
    <content-type>text/css</content-type>
    <href>global.css</href>
</resource>

どうすれば次のように混合できますか。

<![CDATA[return document.compactMode == "BackCompat"? true: false;]]>
4

2 に答える 2

2

CSJS を使用してサーバー側で何かを計算することはできません。CSJS はブラウザーで実行され、テーマはサーバーで計算されるため、これは概念的に不可能です。

できること: CSJS を実行し、結果をサーバーに送信します。サーバー上でこのデータを処理し、テーマ プロパティの計算を実行できます。

ランディング ページを開き、CSJS を実行してから、いくつかの URL パラメータまたは Cookie を使用してターゲット XPage にリダイレクトできます。その後、サーバー側のデータにアクセスできます。

<resource rendered='#{javascript:context.getUrlParameter("CSJS") == "1"}'>
   <content-type>text/css</content-type>
   <href>global.css</href>
</resource>

URL ?CSJS=1で XPage を開くと、global.cssが追加されます。

于 2013-04-03T15:17:18.267 に答える
0

1 つの CSS ファイルで複数のブラウザーを処理できるように CSS を変更するほうが理にかなっているのではないでしょうか? たとえば、http://webdesignerwall.com/tutorials/css-specific-for-internet-explorerを参照してください。

于 2013-04-03T17:52:30.330 に答える