DHTML mit Netscape 4.7
Andreas Hjelset
- javascript
Hey!
Ich habe folgendes Problem und weiss einfach nicht mehr weiter, Ihr seid meine letzte Chance!!!!!
Problem:
Ich muss eine dynamische Navigation schreiben, welche auch in NS 4.7 wunderbar laufen soll (danke fürs Mitleid). Im IE läuft diese auch soweit ohne Probleme, jedoch werden im Netscape seltsamerweise ALLE Unterpunkte in das erste Untermenü geschrieben, was ich nicht verstehen/nachvollziehen kann......?????????
Ist einem von Euch dieses Problem bekannt bzw. hat jemand einen Lösungsvorschlag?
Kann es vielleicht daran liegen dass ich die DIV's bzw. bei NS die LAYERs per JavaScript erzeuge? Wie gesagt, bei IE werden alle Positionen korrekt berechnet....
Oder liegt es daran, dass der Layer keine POSITION-Angabe per Style hat? LAYER können das aber doch gar nicht oder? Bei einer Test-Datei jedenfalls wurden die LAYER-Positionen auch ohne Style korrekt berechnet....
Vielen Dank im Voraus
/Andreas Hjelset
Hallo,
... (danke fürs Mitleid).
wieso Mitleid?
Ist einem von Euch dieses Problem bekannt bzw. hat jemand einen Lösungsvorschlag?
Du kannst bei Netscape 4 "javascript:" als Adresse eingeben:
JavaScript Error:
http://www.firstnfinest.de/downloads/evolutionengine/functions.inc.js,
line 34:
document.layers[navId] has no properties.
So kannst du "self" feststellen wo es hängt und z.B. per alert(navId) usw. weiter nachschauen woran es liegt.
Grüsse
Cyx23
danke für deine antwort, das hilft mir aber auch nicht wirklich weiter...
habe selbst auch schon diese methode angewandt...
mein problem ist nicht den fehler zu finden sondern ihn zu beheben...
document.layers[navId] hat keine properties, sollte aber welche haben!!
per PHP werden die unterpunkte aus einem mehrdimensionalen array gezogen und dann relativ zum oberpunkt per javascript in einem div/layer plaziert...
IE macht das auch, somit existieren bei 6 oberpunkten auch 6 divs.
NS macht das aber nicht sondern erstellt nur 1 layer...
wenn ich dann mit einer for-schleife (i=1;i<=count(navArr);i++) drübergehe, NS aber nur 1 layer erstellt hat, schmeisst er bei den anderen 5 natürlich diesen fehler (aber auch NS zählt hier auf anfrage hin 6 oberpunkte!!!)...
warum erstellt NS also nur 1 layer, obwohl auch er mehrere punkte findet???
an der eigentlichen abfrage-logik sollte es nicht liegen, da ja IE (wie auch mozilla, ns6 usw.) alles richtig macht...
habe eher daran gedacht dass man diesbezüglich bei NS etwas besonderes beachten muss etc.
PS: mitleid deshalb, weil es keinen spass macht für einen veralteten browser die nerven blank zu legen (bei dem wetter)
hallo,
ändere dein "visibility='show'" zu "visibility='visible'"
Grüße aus Berlin
Christoph S.
hallo!
hat leider nix gebracht. trotzdem danke für den vorschlag.
das anzeigen des layer funzt ja, aber es sind zu wenige...
werd wohl besser nochmal den code auf den kopf stellen...
/andreas
Hallo Andreas,
document.layers[navId] hat keine properties, sollte aber welche haben!!
Liegt Dein Layer vielleicht innerhalb eines anderen Layers? NN4.7-Object Model braucht, soweit ich weiß, für jeden Layer wieder ein eigenes document, also wäre das
document.layers[id].document.layers[navId]....
zu referenzieren, wenn ich mich richtig entsinne. Bei mehreren Layern in entsprechender Verschachtelungstiefe.
Vielleicht hilft's ja.
Gruß aus Köln-Ehrenfeld,
Elya
Liegt Dein Layer vielleicht innerhalb eines anderen Layers? NN4.7-Object Model braucht, soweit ich weiß, für jeden Layer wieder ein eigenes document, also wäre das
document.layers[id].document.layers[navId]....
ich glaub ich weiss was du meinst..
jedoch liegen alle LAYER direkt im BODY, nicht verschachtelt, somit glaube ich nicht dass es was zur lösung meines problems beitragen kann :(
trotzdem thx für die antwort..
/andreas
Oder liegt es daran, dass der Layer keine POSITION-Angabe per Style hat? LAYER können das aber doch gar nicht oder? Bei einer Test-Datei jedenfalls wurden die LAYER-Positionen auch ohne Style korrekt berechnet....
Ja das kann sein, im Netscape 4 muss jeder Layer positioniert sein, damit du diesen per JS anprechen kannst.
Struppi.