sofa-surfer: Variablen machen nicht was sie sollen ...

hallo.

ich hab da ein Problem, welches ich mal zu beschreiben versuche:
es existieren zwei dateien (index.htm & datei.htm)
im body-tag von datei.htm wird mittels dem onLoad-EventHandler eine JavaScript-Funktion gestartet. Speziell wird aus einer Reihe von Bildern ein bestimmtes angezeigt.
Nun möchte ich in der index.htm bestimmen, welches Bild angezeigt wird (d.h. den Wert der Funktion aus dem onLoad-Term), wenn ich von dort aus die datei.htm starte.

In beiden Dateien ist die selbe Script-Datei eingebunden.

also in datei.htm:

<body onLoad="start()">

in index.htm:

<a href="javascript:los()">verweis</a>

in der Script-Datei:

var x=1;

function start(){
blaettern(x);
//blaettern() realisiert die Bild-Darstellung
}

function los(){
x=4;
// als Bsp.
window.open("datei.htm","Fenster1");
}

Nun wird datei.htm aber immer mit x=1 gestartet, obwohl ja eigentlich x auf 4 geändert wird.
Hängt das damit zusammen, dass vielleicht intern mit zwei "Instanzen" der Script-Datei gearbeitet wird, d.h. in beide htm-Dateien ist zwar die gleiche Scipt-Datei eingebunden, aber gearbeitet wird mit zwei nicht-synchronisierten Versionen? (reine Vermutung)

Was kann man zur Lösung des Problems tun?

Danke sagt der sofa-surfer ....

  1. hi,

    Nun wird datei.htm aber immer mit x=1 gestartet, obwohl ja eigentlich x auf 4 geändert wird.

    du hast also die _gleiche_ script-datei in beiden html-seiten eingebunden?

    dann wird also beide male

    var x=1;

    function start(){
    blaettern(x);

    ausgeführt. x _danach_ in der script-datei auf 4 zu setzen, hat hier keinen effekt.

    lies dir mal die beiden feature-artikel
    http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe/index.htm und
    http://aktuell.de.selfhtml.org/artikel/javascript/wertuebergabe-2/index.htm
    durch, dann sollte es dir etwas leichter fallen, einen wert von einem dokument an ein anderes zu übergeben.

    gruss,
    wahsaga