Moz: referenz auf 'ner variable eines anderen Programms

hey,
wie kann ich denn auf'ner Variable eines anderen JS Programms zugreifen?

z.B:
prigramm1.js:  var1, var2, ..
prigramm2.js:  referenz auf var1;..

thx,
gruß Moz

  1. wie kann ich denn auf'ner Variable eines anderen JS Programms zugreifen?

    z.B:
    prigramm1.js:  var1, var2, ..
    prigramm2.js:  referenz auf var1;..

    einfach mit var1 oder var2

    Struppi.

    1. Hi,
      wenn du einfach var1 aufrufest im programm2.js wird ja die Lokale Variabel aufgerufen und nicht, die die in programm1.js deklariert ist!

      Ich möchte aba die Variable(z.B.: var1), die sich in programm1.js befindet.
      Es muss irgendwie mit: parent.blabla.document.var1 gehen aba wie der genaue Pfad ist, weiss ich leider nicht;-(.

      Hoffe hast mein Problem verstanden;-)!

      Gruß,
      Moz

      wie kann ich denn auf'ner Variable eines anderen JS Programms zugreifen?

      z.B:
      prigramm1.js:  var1, var2, ..
      prigramm2.js:  referenz auf var1;..

      einfach mit var1 oder var2

      Struppi.

      1. wenn du einfach var1 aufrufest im programm2.js wird ja die Lokale Variabel aufgerufen und nicht, die die in programm1.js deklariert ist!

        Wie kommst du darauf?
        Das stimmt nicht.

        Struppi.

        1. Wie kommst du darauf?

          Was erwartest du in deinem Programm, wenn du eine Variable aufrufst?
          Erwartest du, dass du den Wert einer anderen Variable(der Name kann ja gleich sein) eines anderen Programms bekommest oder den Wert der lokalen Variable??

          Das stimmt nicht.

          Ok was stimmt dann bitte bei Dir???

          Gruß,
          Moz

          1. Definiere doch bitte einmal, was genau Du in diesem Zusammenhang mit "Programm" meinst. Dann können wir Dir sicher gezielter helfen.

            Meinst Du zwei prozedurale JS-Skripte innerhalb eines HTML-Dokuments? Oder JS-Skripte in verschiedenen Frames? Oder in einem Mutterfenster und einem aus diesem heraus geöffneten Popup? Oder meinst Du den Austausch von Variablen zwischen Funktionen oder JS-Klassen?

            Ciao,
            Andreas

            1. Hallo Andres,

              Oder in einem Mutterfenster und einem aus diesem heraus geöffneten Popup?

              ja genau soetwas hatte ich im Sinn!

              Gruß,
              Moz

              1. Oder in einem Mutterfenster und einem aus diesem heraus geöffneten Popup?

                ja genau soetwas hatte ich im Sinn!

                Das ist was komplett anderes als ich aus deiner Schilderung geschlossen habe.

                Evtl. suchst du opener damit kannst du auf die Variabeln des Fenster, das das Popup geöffnet hat zugreifen

                Struppi.

                1. Das ist was komplett anderes als ich aus deiner Schilderung geschlossen habe.

                  war mir schon klar, offenbar habe ich mich s* ausgedrückt;-)!

                  Evtl. suchst du opener damit kannst du auf die Variabeln des Fenster, das das Popup geöffnet hat zugreifen

                  Ok dann schaue ich mich mal da um!

                  Gruß,
                  Moz

              2. Hallo,

                Oder in einem Mutterfenster und einem aus diesem heraus geöffneten Popup?

                ja genau soetwas hatte ich im Sinn!

                aus einem Javascript-Skript in einem Popup greifst Du auf Variablen im Mutterfenster über das Objekt opener zu.
                Also etwa: alert(opener.myVar);

                Das setzt voraus:

                • Daß die Dokumente in Mutterfenster und Popup dieselbe Domain haben (Sicherheitsgründe).
                • Daß die Variable im Mutterfenster im globalen Namensraum steht (also nicht innerhalb einer Funktion oder Klasse deklariert wird).

                Willst Du umgekehrt aus dem Mutterfenster heraus auf eine Variable im Popup zugreifen, dann geht das über das Objekt, welches Dir die Methode window.open() als Rückgabewert liefert.
                Also:
                var myPopup = window.open(.....);
                alert(myPopup.myVar); // geht so nicht, da natürlich das Popup erst geladen sein muß

                Das setzt voraus:

                • Daß die Dokumente in Mutterfenster und Popup dieselbe Domain haben (Sicherheitsgründe).
                • Daß die Variable im Popup im globalen Namensraum steht.
                • Daß das Dokument im Popup vollsatändig geladen ist.

                Hoffe, das hilft Dir weiter.

                Ansonsten gilt das, was Struppi schon geasgt hat: globale Variablen stehen allen JS-Funktionen innerhalb eines Dokuments gleichermaßen zur Verfügung.

                Ciao,
                Andreas

                1. Hallo Andreas

                  ...

                  Hoffe, das hilft Dir weiter.

                  vielen Dank!!!
                  Das hilft auf jedenfall viel weiter!!!

                  Adios,
                  Moz

          2. Wie kommst du darauf?
            Was erwartest du in deinem Programm, wenn du eine Variable aufrufst?
            Erwartest du, dass du den Wert einer anderen Variable(der Name kann ja gleich sein) eines anderen Programms bekommest oder den Wert der lokalen Variable??

            Wir reden von Javascript oder?

            Das was du bisher gezeigt hast, klingt so als ob du folgendes machst:

            <script type="text/javascript" src="script_1.js"> </script>
            <script type="text/javascript" src="script_2.js"> </script>

            Beide Skripte leigen im gleichen Dokument folglich sind beide im gleichen Scope und die Variabeln aus script_1 lassen sich von script_2 direkt mit window.var1 ansprechen.

            Struppi.

      2. Hallo,

        kann es sein, daß Du eine Möglichkeit meinst, aus einem Frame heraus auf Javascript-Variablen im Mutterfenster oder in einem anderen Frame zuzugreifen?

        Das ginge in der Tat über das von Dir doch schon genannte parent-Objekt (Voraussetzung: die beteiligten Skripte bzw. die Dokumente, in denen sie stehen, haben dieselbe Domain).

        Ciao,
        Andreas

        1. Hallo,

          kann es sein, daß Du eine Möglichkeit meinst, aus einem Frame heraus auf Javascript-Variablen im Mutterfenster oder in einem anderen Frame zuzugreifen?

          Das ginge in der Tat über das von Dir doch schon genannte parent-Objekt (Voraussetzung: die beteiligten Skripte bzw. die Dokumente, in denen sie stehen, haben dieselbe Domain).

          Ciao,
          Andreas

          Hallo Andres,
          ja aber ich wollte dies nicht mit Frames machen, weil ich nur eine Seite anzeigen möchte.
          Aber wenn es anders nicht geht muss ich wohl mit Frames probieren;-).

          Gruß,
          Moz

          1. ja aber ich wollte dies nicht mit Frames machen, weil ich nur eine Seite anzeigen möchte.
            Aber wenn es anders nicht geht muss ich wohl mit Frames probieren;-).

            Er wollte dir eigentlich genau das Gegenteil sagen. Wenn du Variabeln in verschiedenen Frames hast, dann leigen diese in verschiedenen Gültigkeitsbereichen.

            Struppi.