Martin: Javascript mit Javascript generieren

Hallo,

ich beabsichtige mittels JavaScript eine Htm-Seite zu erzeugen, die auch ein kleines JavaScript enthält.
Hierzu habe ich ein kleines Beispiel:

<html>
<head>

<script language=JavaScript>
function CreateSeite()
{
with (document)
{
  writeln("<head>");
  writeln("<title>kleines Beispiel</title>");
  writeln("<script language=JavaScript>");
  writeln("alert('es klappt');");
  writeln("</script>");
  writeln("<font size=+2>Son schiet</font>");
  writeln("</head>");
}
}
</script>

<input type=button value="Test" onClick="CreateSeite()")
</head>
</html>

Wer kann mir einen Tip geben warum es bei mir nicht funktioniert (IE 5.0)? Wenn ich den script-Teil weglasse hauts hin - ich weiß nicht mehr weiter.

Danke
Martin

  1. Hallo Martin,

    ich beabsichtige mittels JavaScript eine Htm-Seite zu erzeugen, ...

    wenn ich das starte und mir den Quelltext anzeigen lasse, wird das
    schließende SCRIPT-Tag was Du eigentlich rausschreiben willst
    interpretiert und es kommt nur Dein schietiger Text auf den Bildschirm.

    <html>
    <head>

    <script language=JavaScript>

    function CreateSeite()
    {
    with (document)
    {
      writeln("<head>");
      writeln("<title>kleines Beispiel</title>");
      writeln("<script language=JavaScript>");
      writeln("alert('es klappt');");
      writeln("

    </script>");                                     <==== wird interpretiert !!
      writeln("<font size=+2>Son schiet</font>");
      writeln("</head>");
    }
    }
    </script>

    Klaus

    1. Wenn Klaus mit seiner These recht haben sollte, dass das </script> im javascript-programm interpretiert wird, was ich jetzt nicht nachpruefen kann, dann wird es sicher helfen, die javascript-befehle in kleine teile zu zerlegen, also so

      writeln ('<scr'+'ipt>');

      In einem Script, dass Kommentare in HTML-Seiten erkennt, habe ich sowas auch mal machen muessen, weil sonst der suchstring ('//-->) als Kommentarende interpretiert worden waere.

      1. Hallo Bio,

        Wenn Klaus mit seiner These recht haben sollte, ...
        writeln ('<scr'+'ipt>');

        soviel ich von Martin per eMail gehört habe, ist das inzwischen ok.
        Das Zerstückeln war es wohl weniger, dafür mußte er sein Script
        aufräumen und vervollständigen, etwa wie Stephan gesagt hat.
        Martin hatte zunächst ja nur eine unvollständige Seite ausgegeben.
        Er hatte wohl noch nicht kapiert, daß eine korrekte Seite eine komplett
        neue in das gleiche Dokument ausgibt.

        Das wichtigste war aber wohl das 'escapen' der relevanten Sonderzeichen.
        Er mußte 'slashes' beispielsweise mit 'backslashes' 'escapen' etc.

        dass das </script> im javascript-programm interpretiert wird,...

        Copy&paste ist da hilfreich. Im Posting oben hatte ich mir auf dem
        Wege eine Testdatei gemacht und über Ansicht -- Seitenquelltext
        geschaut wie der Netsie das versteht. Die gekennzeichnete Stelle
        war blau, wurde also als Schlüßelwort interpretiert!
        Bei meinen ersten Versuchen hatte ich aber irgendwo noch einen
        Tippfehler, sodaß es noch nicht lief.
        Außerdem fehlte unten noch der BODY mit dem FORM-Rahmen
        um die Funktion überhaupt aufzuufen.

        Vielleicht berichtet Martin ja selber noch darüber.

        Klaus

  2. Hallo Martin,

    du hast einfach ein paar HTML-Tags durcheinandergeschüttelt,
    drum klappt nix.

    writeln("<html><head>");
     writeln("<title>kleines Beispiel</title></head");
     writeln("<body><script language=JavaScript>");
     writeln("alert('es klappt');");
     writeln("</script>");
     writeln("<font size=+2>Son schiet</font>");
     writeln("</body></html>");

    So sollte es klappen !!

    Gruß
    Stephan

  3. »

    ich beabsichtige mittels JavaScript eine Htm-Seite zu erzeugen, die auch ein kleines JavaScript enthält.
    Hierzu habe ich ein kleines Beispiel:

    Hallo Martin

    Ich vermute mal das das einfach nicht klappt weil du
    letzendlich damit folgende Strukur aufbaust :

    <script>
      <script>     <-hier gibts schon nen Syntaxfehler .
        
      </script>   <- hier wird das erste Script geschlossen
    </script>

    Also.. so schön es wäre.. aber es wird wohl so nicht
    klappen..

    gruss
    Jens