Netscape und Variablenpersisten?
Martin
- javascript
Guten Morgen allerseits,
Also: im Archiv hatte ich mittels "+Netscape +Variable" gesucht -> negativ :-(
Projekt:
Eine Seite mit 3 Frames. Parent.frames[0] enthält das Menü. Hier mache ich auch über den Zugriff auf eine externes ".js"-file die Browserabfrage wie folgt:
var isNav = (document.layers) ? 1:0;
var isIeP = (document.all) ? 1:0;
Problem:
Lade ich in Netscape über das Menü in die beiden anderen Frames neue Datein, ist "isNav" nicht mehr definiert.
Gut, in der Praxis kann ich die Browserabfrage in eine Funktion packen, die von jeder neuen Seite erneut abgefragt wird.
Nur: Alle drei Frames gehören ja zum selben Window-Objekt. Daher dachte ich, dass die Variablenwerte doch erhalten bleiben müssten.
Ist das jetzt eine fehlerhafte Implementation von Netscape oder wieder einmal der viel zu verzeihliche MSIEP??
Grüße, Martin
hi martin,
soweit ich weiss ist eine variable in js, die mit var definiert wird eine lokale - und gilt nur in diesem frame - probier mal indem du var weglaesst
ist nur so ne idee - gruss marcel
Hi Marcel,
danke erst einmal!
Hatte ich schon probiert - auch wenn es im strengen Sinne nicht naheliegend ist (was Du nicht wissen kannst). Denn die Abfrage ist außerhalb einer Funktion definiert und der .js-file wird ja bei der ersten Referenz geladen. Somit muss es eine globale Variable sein.
Das mit Variablendeklaration mit/ohne "var" bezieht sich nur auf die Deklaration innerhalb einer Funktion. Wenn man da "var" wegläßt, wir eine globale Variable definiert.
Grüße, Martin
hi martin,
soweit ich weiss ist eine variable in js, die mit var definiert wird eine lokale - und gilt nur in diesem frame - probier mal indem du var weglaesstist nur so ne idee - gruss marcel