2013-04-03 23 views
1

有什麼方法可以根據JavaScript條件計算呈現的屬性?根據某些CSJS條件從主題設置CSS資源的呈現屬性?

例如:

如果document.compactMode == 「BackCompat」

所有示例我找到;使用SSJS#{JavaScript的:條件;}

例如:

<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;]]> 

回答

2

不能使用CSJS計算的東西服務器端。這在概念上是不可能的,因爲CSJS是在瀏覽器中執行的,並且主題是在服務器上計算的。

你可以做些什麼:執行一些CSJS並將結果發送到服務器。在服務器上,您可以處理這些數據併爲主題屬性執行計算。

F.e.您可以打開登錄頁面,執行您的CSJS,然後使用一些URL參數或cookie重定向到目標XPage或...然後您可以訪問服務器端的數據。

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

如果打開的XPage與URL ?CSJS = 1,在global.css中將增加。

相關問題