有没有办法根据某些JavaScript条件计算渲染属性?
例如:
如果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;]]>
答案 0 :(得分: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>
如果您使用网址?CSJS = 1 打开XPage,则会添加 global.css 。
答案 1 :(得分:0)
修改CSS可能更有意义,以便单个CSS文件处理多个浏览器?例如,请参阅http://webdesignerwall.com/tutorials/css-specific-for-internet-explorer