Code im HTML-Header direkt einbetten

Um Javascript-Code im HTML-Header einzubetten, besteht „offiziell“ nur die Möglichkeit, diesen über eine JS-Ressource einzubinden.

Das ist manchmal etwas umständlich, z.B. wenn es sich nur um eine kleine Funktion oder sogar nur eine Variable handelt, und außerdem bedeutet dies eine Performance-Einbuße und zusätzliche Last auf dem Server (ein weiterer HTTP-Request wird dadurch ausgelöst).

Eine eingebundene Ressource muß jedoch keine Quellangabe enthalten. Statt dessen kann der Inhalt einer Ressource programmatisch gefüllt werden:

<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
   <xp:this.resources>
      <xp:script clientSide="true">
         <xp:this.contents>
            <![CDATA[alert("HUHU!")]]>
         </xp:this.contents>
      </xp:script>
   </xp:this.resources>
</xp:view>

[Fett: Der Tag für den Inhalt der eingebundenen Ressource // In Rot: Der Javascript-Code]

Natürlich kann hier auch SSJS verwendet werden, um den Code dynamisch zu generieren. Das Ergebnis für diese Beispiel sieht wie folgt aus:

<!DOCTYPE HTML PUBLIC 
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="de">
   <head>
      <title></title>
      [.....]
      <script type="text/javascript">
         alert("HUHU!")
      </script>
   </head>
   <body>
      [.....]
   </body>
</html>

[Fett: Der generierte Javascript-Block // In Rot: der definierte Content]

Dieser Beitrag wurde unter Allgemein, HTML, Java Script, XPages abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.