Bildwechsel über einen frame hinaus
Olli
- javascript
0 Christian Seiler0 Olli0 Christian Seiler0 Olli0 Christian Seiler0 Olli0 Olli0 Christian Seiler0 Olli
Hi
Ich möchte bei meiner Homepage links eine Navigation und oben eine "erweiterte" Navigation einbauen. Beide sind in seperaten Frames untergebracht. Soll dann so aussehen, dass bei Klick auf den linken Button oben eine Reihe von Links (in Form von Bildern) aufgehen. Mein Quellcode sollte anscheinend auf beiden (großen) Browsern funktionieren. Leider geht es nur beim IE. Mein Netscape 4.77 (hab leider nur dieses und kann kein neueres ziehen, weil mein Zugang zu lahm ist) macht hingegegen gar nichts. Keine Fehlermeldung (Dialog oder Statuszeile), kein Fehler in der Javascript-Konsole. Aber hier ist mal der Quelltext (bzw. ein Ausschnitt davon!):
function wahl(art) {
if (art == 'verein') {
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
}
Ist es damit schon getan oder sollte man noch irgendwelche Browserspezifischen Abfragen machen oder ähnliches!?
Hallo Olli,
Mein Quellcode sollte anscheinend auf beiden (großen) Browsern funktionieren.
Es gibt noch _viel_ mehr Browser. Netscape 4.77 ist veraltet, die Anzahl derjenigen, die ihn verwenden, schwindet täglich. Was nicht heißt, dass man ihn nicht auch noch unterstützen sollte, aber es ist auch sinnvoll, sich mal mit anderen Browsern auseinanderzusetzen:
http://www.mozilla.org/
http://www.opera.com/
(hab leider nur dieses und kann kein neueres ziehen, weil mein Zugang zu lahm ist)
Auf vielen Zeitschrift-CDs gibt es oft Browser schon fertig gedownloaded.
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
Eigentlich müßte das auch der Netscape 4 tun, das konnte schon Netscape 3. Bist Du Dir sicher, dass die Funktion im Netscape 4 überhaupt aufgerufen wird? Probiere mal einen alert() reinzumachen, um das zu testen. Wenn die Funktion wirklich aufgerufen wird, dann wäre die einzige andere Erklärungsmöglichkeit, die ich hätte, dass die Dateien in den beiden Frames in unterschiedlichen Verzeichnissen liegen. Netscape 4 reagiert da auf relative Pfadangaben anders als die anderen Browser. Absolute Pfadangaben zu verwenden hilft in so einem Fall.
Viele Grüße,
Christian
Hi Christian
Es gibt noch _viel_ mehr Browser. Netscape 4.77 ist veraltet, die Anzahl derjenigen, die ihn verwenden, schwindet täglich. Was nicht heißt, dass man ihn nicht auch noch unterstützen sollte, aber es ist auch sinnvoll, sich mal mit anderen Browsern auseinanderzusetzen:
Opera hab ich schon probiert und es funktioniert auch da einwandfrei - danke!
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
Eigentlich müßte das auch der Netscape 4 tun, das konnte schon Netscape 3. Bist Du Dir sicher, dass die Funktion im Netscape 4 überhaupt aufgerufen wird? Probiere mal einen alert() reinzumachen, um das zu testen.
Hab ich gerade probiert, die Funktion wird aufgerufen.
Wenn die Funktion wirklich aufgerufen wird, dann wäre die einzige andere Erklärungsmöglichkeit, die ich hätte, dass die Dateien in den beiden Frames in unterschiedlichen Verzeichnissen liegen. Netscape 4 reagiert da auf relative Pfadangaben anders als die anderen Browser. Absolute Pfadangaben zu verwenden hilft in so einem Fall.
Liegen im gleichen Verzeichnis. Kann es sein, dass beim Installieren ein Teil von Netscape nicht mitinstalliert wurde, der für diese Javascript-Befehle zuständig ist??? Das wäre nun meine letzte Lösung des Problems... Wobei dann der alert()-Befehl auch nicht hätte funktionieren dürfen.
Danke für die Hilfe
Gruss OLLI
Hallo Olli,
Liegen im gleichen Verzeichnis.
Könnte ich mal eine Testseite sehen?
Viele Grüße,
Christian
Hallo Olli,
Liegen im gleichen Verzeichnis.
Könnte ich mal eine Testseite sehen?
http://www.tsv-warthausen.de/test/index.html
Gruss Olli
Hallo Olli,
http://www.tsv-warthausen.de/test/index.html
Jetzt sehe ichs:
<div id="aktive-1"><img src="images/aktive_1.jpg" width="306" height="39" alt="" /></div>
Du hast das Bild in ein <div> gepackt, das Du absolut positioniert hast. Somit wird es für Netscape 4 zu einem Layer und somit zu einem anderen Dokument.
Also:
function wahl(art) {
if (art == 'verein') {
if (document.layers) { // wenn Netscape 4
parent.head.document.layers['aktiv-9'].document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.layers['aktiv-11'].document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.layers['aktiv-13'].document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.layers['aktiv-23'].document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.layers['aktiv-25'].document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.layers['aktiv-27'].document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.layers['aktiv-17'].document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
} else { // sonst
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
}
}
Viele Grüße,
Christian
Hallo Olli,
http://www.tsv-warthausen.de/test/index.html
Jetzt sehe ichs:
<div id="aktive-1"><img src="images/aktive_1.jpg" width="306" height="39" alt="" /></div>
Du hast das Bild in ein <div> gepackt, das Du absolut positioniert hast. Somit wird es für Netscape 4 zu einem Layer und somit zu einem anderen Dokument.
Also:
function wahl(art) {
if (art == 'verein') {
if (document.layers) { // wenn Netscape 4
parent.head.document.layers['aktiv-9'].document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.layers['aktiv-11'].document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.layers['aktiv-13'].document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.layers['aktiv-23'].document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.layers['aktiv-25'].document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.layers['aktiv-27'].document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.layers['aktiv-17'].document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
} else { // sonst
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
}
}Viele Grüße,
Christian
Ah, gut zu wissen. Vielen Dank. Damit dürfte ich mein Problem wohl gelöst haben!
Hallo Olli,
http://www.tsv-warthausen.de/test/index.html
Jetzt sehe ichs:
<div id="aktive-1"><img src="images/aktive_1.jpg" width="306" height="39" alt="" /></div>
Du hast das Bild in ein <div> gepackt, das Du absolut positioniert hast. Somit wird es für Netscape 4 zu einem Layer und somit zu einem anderen Dokument.
Also:
function wahl(art) {
if (art == 'verein') {
if (document.layers) { // wenn Netscape 4
parent.head.document.layers['aktiv-9'].document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.layers['aktiv-11'].document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.layers['aktiv-13'].document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.layers['aktiv-23'].document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.layers['aktiv-25'].document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.layers['aktiv-27'].document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.layers['aktiv-17'].document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
} else { // sonst
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
}
}Viele Grüße,
ChristianAh, gut zu wissen. Vielen Dank. Damit dürfte ich mein Problem wohl gelöst haben!
Ich trau mich ja gar nicht, das zu sagen, aber es funzt immer noch nicht!
Hallo Olli,
Ich trau mich ja gar nicht, das zu sagen, aber es funzt immer noch nicht!
Was funktioniert nicht? Wie sieht Dein aktueller Code aus? Was steht in der JS-Konsole?
Viele Grüße,
Christian
Hallo Olli,
Ich trau mich ja gar nicht, das zu sagen, aber es funzt immer noch nicht!
Was funktioniert nicht?
Der Bildwechsel wie gehabt
Wie sieht Dein aktueller Code aus?
function wahl(art) {
if (art == 'verein') {
if (document.layers) { // wenn Netscape 4
parent.head.document.layers['aktiv-9'].document.images'aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.layers['aktiv-11'].document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.layers['aktiv-13'].document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.layers['aktiv-23'].document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.layers['aktiv-25'].document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.layers['aktiv-27'].document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.layers['aktiv-17'].document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
} else { // sonst
parent.head.document.images['aktive_9'].src = 'images/aktive_9_verein.jpg';
parent.head.document.images['aktive_11'].src = 'images/aktive_11_verein.jpg';
parent.head.document.images['aktive_13'].src = 'images/aktive_13_verein.jpg';
parent.head.document.images['aktive_23'].src = 'images/aktive_23_verein.jpg';
parent.head.document.images['aktive_25'].src = 'images/aktive_25_verein.jpg';
parent.head.document.images['aktive_27'].src = 'images/aktive_27_verein.jpg';
parent.head.document.images['aktive_17'].src = 'images/aktive_17_verein.jpg';
}
}
Was steht in der JS-Konsole?
immer noch nichts
Grüße OLLI