Domino 9 und frühere Versionen > ND8: Entwicklung - XPages
Einbindung eines CSS-Elements mittels SSJS
(1/1)
Fineas:
Hallo X-Pages Hacker, Hallo Sven,
wie kann man elegant ein einzelnes CSS-Element dynamisch in eine Page einbinden?
Ich brauche ein Stylesheet, dessen Inhalt sich aus einer Session-Variable ergibt. Die Einbindung als Ressource wäre sinnloser Mehraufwand - aber anscheinend ist SSJS generiertes CSS nicht vorgesehen.
Aktuell gehe ich den Umweg über CSJS. Das ist aber auch unnötig kompliziert.
Heiko!
Sven Hasselbach:
Um einen CSS Style in den Header einzubinden, kann man den Content einer CSS Resource berechnen:
--- Code: --- <xp:this.resources>
<xp:styleSheet>
<xp:this.contents>
<![CDATA[${javascript:"body{background-color:rgb(64,0,128)}"}]]>
</xp:this.contents>
</xp:styleSheet>
</xp:this.resources>
--- Ende Code ---
Das ist natürlich nur beim Laden der XPage möglich.
Um ein CSS Style im HTML Body zu erstellen, kann ein Computed Text weiterhelfen:
--- Code: --- <xp:text
escape="true"
tagName="style"
styleClass="">
<xp:this.value><![CDATA[#{javascript:"body{background-color:rgb(64,0,"+ sessionScope.Blue + ")}"}]]></xp:this.value>
<xp:this.attrs>
<xp:attr
name="type"
value="text/css">
</xp:attr>
</xp:this.attrs>
</xp:text>
--- Ende Code ---
Dieses Element wird z.B. bei einem Partial Refresh neu berechnet.
Fineas:
Variante 2 sieht interessant aus und wird getestet.
DANKE!
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln