frames[].location.href funktioniert bei Netscape nicht!?
Peter Klein
- javascript
0 Cheatah0 Peter Klein0 Cheatah0 Peter Klein0 Cheatah
Ich habe in einer html-Datei eine JavaScript-Datei so:
<SCRIPT LANGUAGE="javascript" type="text/javascript" src="Java.js">
</SCRIPT>
referenziert und dann ein Frameset wie folgt definiert:
<FRAMESET rows="57, *" onLoad="Select(1)">
<frame src="proeinnb.html" Name="Navbtn">
<frame Name="SlideImage">
<noframes>
<BODY></BODY>
</noframes>
</FRAMESET>
Wenn ich dann in der JavaScript-Funktion Select, die in Java.js steht, so:
frames["SlideImage"].location.href = "proein01.html";
frames["SlideImage"].focus();
in einem Frame eine Datei laden und fokussieren will, lädt Netscape Navigator 4.7 eine leere Seite und bringt den Fehler:
JavaScript Error: file:///..., line ...:
frames.SlideImage has no properties.
wobei line auf die Zeile mit location.href verweist. Internet Explorer 4.0/5.0 verarbeitet alles ganz problemlos. Woran stört sich Netscape? Für Tips bin ich sehr dankbar!
Hallo auch Dir,
<SCRIPT LANGUAGE="javascript" type="text/javascript" src="Java.js">
</SCRIPT>referenziert und dann ein Frameset wie folgt definiert:
im Wörtchen "dann" liegt Dein Problem. Wenn die JavaScript-Datei(*) geladen wird, existiert noch kein Frameset, und damit auch frames[x] noch nicht.
Lösung: Reihenfolge ändern.
(*) Übrigens ist der Name "Java.js" irreführend, da sich mit an Sicherheit grenzender Wahrscheinlichkeit nicht mal die Spur von Java darin befindet - vermute ich einfach mal.
Cheatah
Wenn die JavaScript-Datei(*) geladen wird, existiert noch kein
Frameset, und damit auch frames[x] noch nicht.
Lösung: Reihenfolge ändern.
Danke für die schnelle (schneller als ein Cheatah!) Antwort!
Schön und gut - aber warum geht es dann beim IE??? Außerdem wird die Funktion erst *aufgerufen*, nachdem das Frameset geladen ist. Allein das *Laden* der JavaScript-Datei dürfte doch nicht schaden (siehe IE), oder?
Peter.
Hi,
Schön und gut - aber warum geht es dann beim IE???
der IE synchronisiert anders als Netscape. Unabhängig davon: Wenn etwas im IE geht, heißt das noch _lange_ nicht, daß es in irgendeiner Form richtig ist... der IE besteht zu weit mehr als 50% aus Fehlerkorrekturroutinen :-)
Außerdem wird die Funktion erst *aufgerufen*, nachdem das Frameset geladen ist. Allein das *Laden* der JavaScript-Datei dürfte doch nicht schaden (siehe IE), oder?
Kommt drauf an. Hast Du dazu 'ne URL? (Nimm ruhig die nicht funktionierende Version!)
Cheatah
Hast Du dazu 'ne URL? (Nimm ruhig die nicht funktionierende Version!)
Diesen Satz versteh ich nicht - was für 'ne URL und Version wovon?
Eine eigene URL in dem Sinne, daß ich direkt am Internet hänge, habe ich nicht, falls Du das meinst.
Peter
Hi,
Hast Du dazu 'ne URL? (Nimm ruhig die nicht funktionierende Version!)
Diesen Satz versteh ich nicht - was für 'ne URL und Version wovon?
eine URL, die abzufragen ein Response erzeugt, welcher den fehlerhaften Code beinhaltet :-)
Sprich: Eine Seite zum Problem.
Eine eigene URL in dem Sinne, daß ich direkt am Internet hänge, habe ich nicht, falls Du das meinst.
Es gibt 'nen Haufen kostenloser Provider. Wenn Du Dir einen davon suchen und die Seite dorthin uploaden würdest, würde mir das die Fehlersuche ggf. spürbar erleichtern...
Cheatah