Alfred Paris: .js: Quelltext erstellen mit externem JS?

Ich möchte Teile einer Seite dynamisch beim Laden generieren, und zwar mit einem externen JavaScript (.js). Dabei tritt aber das Problem auf, daß das Script, wenn es ausgeführt werden soll, noch nicht geladen ist, und der Browser dennoch den Rest des Dokuments lädt und dadurch alles durcheinander bringt.
Kann ich dem Browser sagen, er soll warten, bis das Script geladen ist, und dann erst weitermachen?

Danke, Alfred

  1. Hallo Alfred,

    Ich möchte Teile einer Seite dynamisch beim Laden generieren, und zwar mit einem externen JavaScript (.js). Dabei tritt aber das Problem auf, daß das Script, wenn es ausgeführt werden soll, noch nicht geladen ist, und der Browser dennoch den Rest des Dokuments lädt und dadurch alles durcheinander bringt.

    Hmm, verstehe ich es richtig, dass die document.write()-Befehle in der externen js-Datei stehen? Dann solltest Du sie dort in eine Funktion packen. Innerhalb der HTML-Datei kannst Du dann erst mal zwischen <head> und </head> notieren:
    <script language="JavaScript" src="datei.js">
    </script>
    Damit wird die js-Datei erst mal geladen. Und im Text, dort, wo der Code generiert werden soll:
    <script language="JavaScript">
    Schreibe();
    </script>
    (wobei Schreibe() die zuvor ewaehnte Funktion ist)
    Ob's so klappt, weiss ich nicht, probier's mal.

    Viele Gruesse
      Stefan Muenz

    1. Hi,

      Ich möchte Teile einer Seite dynamisch beim Laden
      generieren, und zwar mit einem externen JavaScript
      (.js). Dabei tritt aber das Problem auf, daß das
      Script, wenn es ausgeführt werden soll, noch nicht
      geladen ist, und der Browser dennoch den Rest des
      Dokuments lädt und dadurch alles durcheinander
      bringt.

      Wenn ich das Problem richtig verstehe, dann ist das
      ein aehnliches Problem das ich bei meiner Suchmaschine mit dem Opera auch habe, siehe dort:
      <t00455.htm#a1749> (vom 18.9.98,
      12:24 Uhr, falls der link spaeter nicht mehr richtig ist).

      Hmm, verstehe ich es richtig, dass die
      document.write()-Befehle in der externen js-Datei
      stehen? Dann solltest Du sie dort in eine Funktion
      packen.
      ...
      Damit wird die js-Datei erst mal geladen. Und im
      Text, dort, wo der Code generiert werden soll:
      ...
      Ob's so klappt, weiss ich nicht, probier's mal.

      Wenn nur Text durch die .js erzeugt wird, dann sollte
      das mit der Kapselung in einer Funktion eigentlich reichen, dass zuerst die .js geladen werden _muss_,
      bevor die in der HTML ausgefuehrt wird.

      Aber was ist bei mehreren .js-Dateien. Herscht dann
      Anarchie oder werden die genau in der Folge des
      Auftreten im Code aufgerufen, brav hintereinander ?

      Und wie ist das wenn in einer .js-Datei eine komplett
      neue Seite generiert wird, die ihrerseits wieder eine
      .js-Datei laed (oder besser laden sollte, siehe link
      oben) ?

      Hier sollte wohl endlich das W3C oder aehnlich
      Organisationen und Vereinigungen dafuer sorgen, dass
      die Browser kompatibler zueinander werden.

      Und daß sich Browser wie Opera wenigstens an
      Grundlagen von JS halten. (Browser die JS kennen,
      sollten eigentlich noscript-Tags ignorieren, dafür
      wurde der naemlich geschafen.)

      Warten wir auf bessere Browser bei der IE-Konkurenz,
      ansonsten (muss man leider sagen) hoffe ich, dass nur
      noch einer uebrig bleibt. Ich bin es auf jeden Fall
      leid, staendig auf alle moeglichen Browser-
      Spezialitaeten Ruecksicht zu nehmen.

      Hartmut