Mat: javascript generierte seite neuladen

Hallo!

hätte da ein kleines Problem bei meinem Script, welches soweit mit Hilfe von SelfHTML schon gut funktioniert.

eine page mit document.write(" "); generiert (in einer Funktion soll beim klick auf einen Link neu laden und und eine neue Funktion ausführen.

mit

document.write("<a href="javascript:Funktion2()">...

funktioniert das nicht, es tut sich einfach gar nichts.

Könnt mir da jemand helfen?

Mat

  1. document.write("<a href="javascript:Funktion2()">...

    Hi Du,

    Du solltest, wenn Du innerhalb eines JavaScript-Teils im HTML-Dokument einen String mit dem Inhalt 'javascript' hast, diesen String immer "aufteilen", z.B. 'javas'+'cript'. Der Browser missinterpretiert Deinen Code sonst beim Parsen, was meist zu Fehlern führt.

    Bei einem vernünftigen Browser (z.B. Firefox, Mozilla, Netscape... ;) bekommst Du übrigens eine JavaScript-Konsole, wenn Du "javascript:" in die Location-Zeile tippst -- dort sollte sich in Deinem Fall eine oder mehrere Fehlermeldungen finden, die sich warhscheinlich auf das von mir beschrieben Phänomen zurückführen lassen)

    Grüße,

    Mirko

    1. Danke für den Tipp!

      Mein vernümftiger Browser Opera mein zur Fehlermeldung folgendes:

      Javascript URL thread: "javascript:Funkion2(3)"
      Error:
      name: ReferenceError
      message: Statement on line 1: Reference to undefined variable: No such variable 'Funktion2'
      Backtrace:
        In unknown script
          Funtkion2(3);

      Die Funktion ist jedoch in der selben Javascript Datei, weshalb findet er diese nun nicht?

      Wie ist das eigentlich mit dem Aufteilen? Welche Zeichen sollt ich dafür benutzen, bei inzwischen der erhöhten Anzahl von Hochkommata.

      Grüße
      Mat

      1. Hi Du,

        Javascript URL thread: "javascript:Funkion2(3)"
        Error:
        name: ReferenceError
        message: Statement on line 1: Reference to undefined variable: No such variable 'Funktion2'
        Backtrace:
          In unknown script
            Funtkion2(3);

        Mit der Fehlermeldung kann ich mit so wenig Informationen leider nicht viel anfangen. Sieht aber eher so aus, als hättest Du Dich verschrieben in Deinem Sourcecode. Funkion, Funtkion, Funktion... Wie heißt die Funktion denn wirklich? Du musst sie schon beim richtigen Namen "nennen" ;)

        Vielleicht aber ist die Funktion auch undefiniert, weil irgendein Fehler zum Abbruch der Interpretation des JavaScript-Codes geführt hat.

        Wie ist das eigentlich mit dem Aufteilen? Welche Zeichen sollt ich dafür benutzen, bei inzwischen der erhöhten Anzahl von Hochkommata.

        Die Zeichen, mit denen Du den String "aufgemacht" hast (am günstigen sind meistens die einfachen Hochkommata dafür, da in HTML wiederum eher die doppelten gebraucht werden, und dann muss bei der Ausgabe von HTML-Code über JavaScript weniger escaped werden). Du musst den String halt einfach "nur" zu- und wieder aufmachen, und dazwischen mit dem + konkatenieren.

        Mirko