Autor Thema: Einbindung eines CSS-Elements mittels SSJS  (Gelesen 3831 mal)

Offline Fineas

  • Aktives Mitglied
  • ***
  • Beiträge: 145
  • Geschlecht: Männlich
  • PCLP Dev/Admin 5,6,7,8
Einbindung eines CSS-Elements mittels SSJS
« am: 19.06.13 - 16:31:44 »
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!

Offline Sven Hasselbach

  • Senior Mitglied
  • ****
  • Beiträge: 316
  • Geschlecht: Männlich
    • blog@hasselba.ch
Re: Einbindung eines CSS-Elements mittels SSJS
« Antwort #1 am: 20.06.13 - 00:09:03 »
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>

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>

Dieses Element wird z.B. bei einem Partial Refresh neu berechnet.

Offline Fineas

  • Aktives Mitglied
  • ***
  • Beiträge: 145
  • Geschlecht: Männlich
  • PCLP Dev/Admin 5,6,7,8
Re: Einbindung eines CSS-Elements mittels SSJS
« Antwort #2 am: 20.06.13 - 14:21:53 »
Variante 2 sieht interessant aus und wird getestet.

DANKE!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz