css - 根据某些 CSJS 条件从主题设置 CSS 资源的渲染属性?

标签 css themes xpages xpages-ssjs

有什么方法可以根据某些 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;]]>

最佳答案

你不能使用 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

关于css - 根据某些 CSJS 条件从主题设置 CSS 资源的渲染属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15790260/

相关文章:

wpf - MaterialDesign 运行时更改主题 Wpf

.net - ASP.NET 主题中每页一个 CSS

xpages - 自定义控件的复合数据在 beforeRenderResponse 事件中未定义

xpages - 将计算的 xpage 字段绑定(bind)到表单字段

html - Safari 上的方形元素符号点?

javascript - Angular JS 路由不起作用并且控制台中没有错误

html - 使用响应式设计重新创建绝对按钮位置

html - 计算自定义字段的不同值的数量

themes - 多个备用样式表

css - Xpages:提前输入样式都被移动主题搞砸了