JHMF: Syntax-fehler für NEtscape oder sollte ich Netscape neu installieren?

ICh greife aus einem unteren Frame auf eine Variabke in einen 2 Ebenen wieter höher liegen Frame zu mit "parent.parent.scripts.variable = "blablabla";"

DIe Framestruktur gestaltet sich folgendermaßen:
Die Datei "pre_frameset.html" erstellt 2 Frames, im ersten ("scripts" genannt) wird eine Datei geladen, in der mehrere Variablen global gehalten werden sollen, in den unteren der beiden Frames wird die datei "frameset.html" geladen, welche IM unteren Frame wiederum mehrere Frames erzeugt, unter anderem den Frame "menu1".

Ich will nun aus diesem Frame auf den Frame "scripts" zugreifen und tue das mit "parent.parent.scripts.variable = ....." usw...

Mit dem Internet-Explorer funktioniert das tadellos, unter NETSCAPE (version 4.6) bekomme ich folgende Fehlermeldung: "parent.parent.scripts has no properties" und ich weiß mir nicht mehr zu helfen. Ebenfalls kommt mir komisch vor, daß NETSCAPE bei folgendem Link: <a href="javascript:document.history.back();">zurzeck</a> ABSOLUT NICHTS MACHT, ER ZEIGT ZWAR Den LADEN-Cursor an (Sanduhr) aber sobald ich von dem Link weggehe habe ich wieder den normalen Cursor und nichgts passiert!!!

Sollte ich Netscape mal neu installieren, oder liegen hier Syntaxfehler vor, bei denen NEtscape mal wieder meckert??

  1. Hi!

    Das kommt auch darauf an, wie und wann Du auf die Variable zugreifst. Nach dem Laden braucht Netscape zum Aufbau des internen Objektmodells offensichtlich ein paar Millisekunden und läuft deshalb bei _sofortigem_ (sofort nach dem Laden) Zugriff auf irgendwelche Variablen, Funktionen etc. in anderen Frames, Fenstern etc.auf, während der IE offensichtlich eine Art Lazy Evaluation beherrscht, die solche Fehler verhindert.

    Vielleicht ist es das, vielleicht hast Du auch irgendwo Mist gebaut. Aber den Browser würde ich erst dann neuinstalllieren, wenn es bei jemand anderem mit Netscape immer klappt. Netscape ist halt ein wenig eigenwillig  :-)

    Bio
    (In inniger Liebe zu seinem Netscape)

    1. Hi!

      Das kommt auch darauf an, wie und wann Du auf die Variable zugreifst. Nach dem Laden braucht Netscape zum Aufbau des internen Objektmodells offensichtlich ein paar Millisekunden und läuft deshalb bei _sofortigem_ (sofort nach dem Laden) Zugriff auf irgendwelche Variablen, Funktionen etc. in anderen Frames, Fenstern etc.auf, während der IE offensichtlich eine Art Lazy Evaluation beherrscht, die solche Fehler verhindert.

      Vielleicht ist es das, vielleicht hast Du auch irgendwo Mist gebaut. Aber den Browser würde ich erst dann neuinstalllieren, wenn es bei jemand anderem mit Netscape immer klappt. Netscape ist halt ein wenig eigenwillig  :-)

      Bio
      (In inniger Liebe zu seinem Netscape)

      Also ich weiß nicht, ich greife auf diese Variablen erst eine Weile NACH DEM VOLLSTÄNDIGEN LADEN per LINK zu, an einer LAde-verzögerung kannes also nicht liegen!!

  2. Hallo,
    ich habe Dein Problem eben mal versucht nachzuvollziehen.

    Im Netscape 4.7 klappt das tadellos.
    Ich kann mir im Frame menue (das vierte aus dem zweiten der Datei pre_frameset) die Variable aus scripts (dem ersten Frame aus pre_frameset) anzeigen lassen und auch ändern.

    Verschrieben oder Bug - das ist hier die Frage.

    Gruß
    Inge

  3. Hi,

    Ich will nun aus diesem Frame auf den Frame "scripts" zugreifen und tue das mit "parent.parent.scripts.variable = ....." usw...

    woran dieses liegt, kann ich Dir auch nicht sagen; da wäre eine URL zum Testen ganz gut. Aber hier...

    Ebenfalls kommt mir komisch vor, daß NETSCAPE bei folgendem Link: <a href="javascript:document.history.back();">zurzeck</a> ABSOLUT NICHTS MACHT, ER ZEIGT ZWAR Den LADEN-Cursor an (Sanduhr) aber sobald ich von dem Link weggehe habe ich wieder den normalen Cursor und nichgts passiert!!!

    ...solltest Du einfach mal die Objekte nicht irgendwo unterordnen, sondern dort, wo sie hingehören ;-)
    history ist kein Objekt von document, sondern von window. Es ist also ein Bug im MSIE, daß document.history.back() überhaupt funktioniert. Schreibe window.history.back() oder kurz history.back().

    Cheatah