Thomas: Variablen in andere .js-Datei auslagern!

Hallo zusammen, ich wollte mal nachfragen, ob es möglich ist, Javascript-Variablen (Arrays) in andere .js-Dateien auszulagern?!

Präziser: Ich habe eine .js-Datei welche den gesamten Code enthält. In dieser sind z.Zt auch alle Variablen deklariert. Da ich allerdings sehr viele Variablen habe (Arrays), dachte ich mir, dass es sinnvoll sei, dieses in eine separate Datei auszulagern und von der Hauptdatei darauf zuzugreifen.

Ist dies möglich?

mfg Thomas

  1. Hallo Thomas,

    Hallo zusammen, ich wollte mal nachfragen, ob es möglich ist, Javascript-Variablen (Arrays) in andere .js-Dateien auszulagern?!

    Präziser: Ich habe eine .js-Datei welche den gesamten Code enthält. In dieser sind z.Zt auch alle Variablen deklariert. Da ich allerdings sehr viele Variablen habe (Arrays), dachte ich mir, dass es sinnvoll sei, dieses in eine separate Datei auszulagern und von der Hauptdatei darauf zuzugreifen.

    Ist dies möglich?

    Generell ist wegen dem Sicherheitskonzept von JavaScript ein solches Vorhaben nicht möglich.

    Vielleicht kannst du aber in der HTML-Datei mehrere <script>-Tags einsetzen, ob eine Variable die vom ersten Script erstellt wurde vom zweiten Script noch abgefragt werden kann ist fraglich.

    Wenn das nicht klappen sollte kann man auch folgendes machen:

    1. Ein PHP-Skript symbolisiert die ganze JS-Datei und kann mittels einem <script>-Tag eingebunden werden.
    2. Dieses PHP-Skript fügt dann mittels include()-Befehl die einzelnen Dateien zu einem ganzen zusammen.

    Auf diese Weise kann man die Daten auf jeden Fall in mehrere Dateien auftrennen.

    Bis dann!

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
  2. Hallo, Thomas,

    ich wollte mal nachfragen, ob es möglich ist, Javascript-Variablen (Arrays) in andere .js-Dateien auszulagern?!

    ja klar, warum denn nicht? Ob der JavaScript-Code in einer oder mehreren Dateien steht oder in der HTML-Datei selbst spielt eigentlich keine Rolle. Eine modulare Aufteilung z.B. mit einem Array-File vereinfacht vor allem das Handling und wird in der Praxis von vielen DHTML-Menüs genutzt.

    Allerdings geht für eine zusätzliche .js-Datei beim ersten Laden ein zusätzlicher HTTP-Request an den Server. Bei weiteren Aufrufen sollten die Inhalte externer JavaScript-Dateien dann eigentlich aus dem lokalen Cache kommen, so daß die Performance-Einbußen zu vernachlässigen sind.

    Grüße,

    Sebastian

    1. Hi Sebastian!

      ja klar, warum denn nicht? Ob der JavaScript-Code in einer oder mehreren Dateien steht oder in der HTML-Datei selbst spielt eigentlich keine Rolle. Eine modulare Aufteilung z.B. mit einem Array-File vereinfacht vor allem das Handling und wird in der Praxis von vielen DHTML-Menüs genutzt.

      Gut, jetzt weiß ich, dass es funktioniert. Meine nächste Frage wäre nun wie es genau funktioniert. Kann ich die Arrays einfach in eine separate Datei packen und mit irgendner Zeile diese Datei einbinden?

      Allerdings geht für eine zusätzliche .js-Datei beim ersten Laden ein zusätzlicher HTTP-Request an den Server. Bei weiteren Aufrufen sollten die Inhalte externer JavaScript-Dateien dann eigentlich aus dem lokalen Cache kommen, so daß die Performance-Einbußen zu vernachlässigen sind.

      Das sollte eigentlich kein Problem geben!

      mfg Thomas

      1. hi,

        Gut, jetzt weiß ich, dass es funktioniert. Meine nächste Frage wäre nun wie es genau funktioniert. Kann ich die Arrays einfach in eine separate Datei packen und mit irgendner Zeile diese Datei einbinden?

        du bindest sie nicht in einer anderen JS-datei ein, sondern als externes javascript im HTML-dokument.
        wie das geht, steht in selfhtml.
        auf die reihenfolge solltest du dabei natürlich achten.

        und was passiert, wenn die externe datei noch nicht geladen ist, darunter aber scriptcode steht, der auf deren variablen zugreifen will, wäre auch auszuprobieren.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Hallo,

          du bindest sie nicht in einer anderen JS-datei ein, sondern als externes javascript im HTML-dokument.

          das ist die Regel. Rein theoretisch kannst Du allerdings auch von einer externen JavaScript-Datei aus weitere aufrufen. Dazu musst Du den entsprechenden Code mit document.write ausgeben.

          Grüße,

          Sebastian

          1. Hallo Sebastian,

            du bindest sie nicht in einer anderen JS-datei ein, sondern als externes javascript im HTML-dokument.

            das ist die Regel. Rein theoretisch kannst Du allerdings auch von einer externen JavaScript-Datei aus weitere aufrufen. Dazu musst Du den entsprechenden Code mit document.write ausgeben.

            *uahhh* - schreckliche Lösung. Da bevorzuge ich glatt meinen Vorschlag mit PHP...

            n8!

            Marc Reichelt || http://www.marcreichelt.de/

            --
            Linux is like a wigwam - no windows, no gates and an Apache inside!
            SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
            http://emmanuel.dammerer.at/selfcode.html