JavaScript XHTML Beispiel: Script Code in XHTML einbinden (inline)

Anders als bei normalem HTML-Code kann JavaScript in XHTML nicht einfach per in einem Script-Tag abgelegtem JavaScript-Code nortiert werden. Dies liegt daran, dass die in einem Script-Code enthaltenen JavaScript-Anweisungen Zeichen enthalten können, die vom XML-Parser als falsch formulierter XHTML-Code erkannt werden. Problematisch sind hier insbesondere die in JavaScript-Code genutzten Zeichen <, >, & sowie ". Diese Zeichen haben auch für den XHTML-Parser eine besondere Bedeutung. Elemente und Struktur von Dokumenten, welche in der Markup-Sprache XHTML verfasst sind, werden mit diesen Zeichen definiert (bzw. durch die Inhalte innerhalb dieser Markup-Zeichen). Tauchen derartige Zeichen in einem JavaScript-Block auf, so wird der Parser aus dem Tritt gebracht, was zu Fehlern – und letztlich auch zu Darstellungsproblemen – führen kann.

Um derartigen Problemen aus dem Wege zu gehen, sollte JavaScript nach Möglichkeit aus XHTML-Dateien herausgehalten werden. Dies gelingt – genau, wie bei der Integration von JavaScript in HTML-Code – durch das Einbinden externer JS-Dateien, wie es im zweiten Beispiel unter JavaScript-Code in HTML integrieren beschrieben steht. Ist eine solche Vorgehensweise nicht möglich, so sollte die Kombination von XHTML & JavaScript auf eine Weise formuliert werden, dass der Parser bei seiner Arbeit nicht gestört wird.

Zu diesem Zweck können Script- wie auch Style-Bereiche im XHTML-Code in einen Bereich verbannt werden, der vom XML-Parser als einzelner Knoten erkannt und nicht weiter aufgeschlüsselt wird. Erreicht wird dies, indem der Inhalt eines Script-Tags (also der JavaScript-Code) mit CDATA umschlossen wird – gleiches gilt übrigens auch für Inline formulierte CSS-Angaben unter XHTML. Die Kombination mit XHTML JavaScript CDATA Bereichen stabliert den Quelltext und stellt damit für den Parser einen verträglicheren XHTML-Code dar.

Durch das Auskommentieren der Zeilen, in denen der CDATA-Bereich definiert wird, können Probleme mit älteren Browsern vermieden werden. Auch wenn Sie JavaScript in XHTML einbinden möchten, können Sie Script-Code an beliebiger Stelle im HEAD- oder im BODY-Bereich des XHTML-Dokuments notieren.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Seitentitel</title>
    <script type="text/javascript">
    // <![CDATA[
    function meldung_ausgeben (meldung) {
      if (meldung.length > 0)
        alert ("Sie sollten auch eine Meldung angeben!");
    }
    // ]]>
    </script>
  </head>
  <body>
    <script type="text/javascript">
    // <![CDATA[
    meldung_ausgeben ("Mal sehen, was dabei rauskommt!");
    // ]]>
    </script>
  </body>
</html>
Letzte Posts aus unserem Forum

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Montag, 23. Januar 2012 17:02 von alm

Hallo, wenn es um einen MP3-Player geht, dann sollte jplayer das Richige sein. Einfach mal den Suchschlitz der Suchmaschine Deiner Wahl nutzen. ... » mehr

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet

Galerie Erweiterung

Hi, zu erst mal ein Lob an Eure Galerie. Nun habe ich allerdings eine Frage um die Galerie eventuell zu erweitern. Derzeit wird auf meiner Seite ... » mehr

von G-RuN am Dienstag, 25. Januar 2011 17:13 in JavaScript - bisher 8 Antworten
Letzter Beitrag: Dienstag, 1. Februar 2011 17:11 von G-RuN

Hat sich erledigt. Mir haben noch die Zuweisung von der Variablen anzahl_bilder und anzahl_thumbnails gefehlt. Grüße, ... » mehr

bei submit ein neues Fenster öffnen

Hallo, ich habe hier ein kleines Problem und ... » mehr

von Kallchen am Freitag, 14. Januar 2011 23:07 in JavaScript - bisher 3 Antworten
Letzter Beitrag: Samstag, 15. Januar 2011 12:47 von alm

window.location = "_blankeineseite.html"; Das funktioniert auf keinen Fall. Die Location-Eigenschaft muss eine URL enthalten und wird bei ... » mehr



¬ Insolvenzrecht