Christoph Schnauß: deluxe menu baustein javascript Browserabhängige Probleme

Beitrag lesen

hallo,

nutze einen Javascript Baustein, mit dem ich mir ein horizontales Navigationsmenu konfigurieren kann.

Es sind eine ganze Reihe "Bausteine", die du benutzt. Sie alle werden von deinem oberen "Navigationsframe" bzw. der Adresse http://www.mypins.de/ibmhp_v3/frame_t.html (ich verzichte bewußt auf eine foru,sgerechte Verlinkung) aufgerufen.

Auf meiner Testseite funktioniert das im FireFox recht gut

Dann hast du nicht genug getestet. Gerade im Firefox funktioniert es eben nicht. Wenn du die Seite das erstemal aufrufst, scheint alles da zu stehen, wo du es haben möchjtest, sobald aber irgendeiner deiner Navigationspunkte angeklickt wurde, funktionieren deine Hocer-Effekte nicht mehr und die kleinen Hovermenüs verschwinden "nach oben" und werden eingekürzt, statt sich nach unten auszuklappen.

im IE 6 auch

Auch da funktioniert es _nicht_. Es passiert genau dasselbe, was dir nur im IE7 aufgefallen ist. Die aufklappenden Submenüs verschieben den darunterliegenden Frame nach unten, es entsteht "leerer Raum" in deinem oberen Navigationsframe, am deutlichsten sichtbar ist das, wenn du die Maus auf "Olympia" setzt.

aber im IE7 gibt es Probleme.

Dieselben wie in IE6.

Du siehst: deine Javascript-Bausteine machen nicht das, was du gerne haben möchtest und zwar in _allen_ Browsern (Auch Konqueror und Safari). Der Grund für die "Verschiebungen" liegt in deiner Frameset-Konstruktion. Aufklappmenüs, die zum Aufklappen eines Submenüs eben über den Rand eines Frames in den darunterliegenden Frame hineinreichen sollen, sind mit Javascript nicht möglich. Es gibt ein paar Tricksereien, die, wenn auch mit etwas Mühe, im Forumsarchiv gefunden werden können. Die Submenüs müssen eben _nicht_ im oberen Navigationsframe erscheinen, sondern in dem darunterstehenden.

Du hast also geradezu ein Paradebeispiel dafür geliefert, wie man es _nicht_ machen sollte:
1. setzt du eine Framekonstruktion ein und erwartest, daß deine Klappmenüs über den Framerand hinausreichen können
2. machst du deine gesamte Navigation von Javascript abhängig, ohne eine Alternative anzubieten.

Das größte Problem ist dabei gar nicht einmal dein "Konfigurationsscript" (http://www.mypins.de/ibmhp_v3/menudir/navi.js), sondern es ist das Script http://www.mypins.de/ibmhp_v3/menudir/dmenu.js. Das Ding ist gewissermaßen das "Herz" deiner gesamten Javascript-Konstruktion. Der Scriptentwickler hat dabei zu einem relativ beliebten Trick gegriffen, um es zwar benutzbar, aber nicht so lecht menschenlesbar zu machen: er hat alles hintereinander ohne einen einzigen Umbruch und ohne Leerzeichen in eine einzige ewig lange Zeile geschrieben. Das schert den Browser nicht; aber wenn du verstehen willst, was da nun konkret drinsteht, mußt du es erstmal wieder für dich lesbar machen um herauszufinden, welche Funktionen da alles drinstehen. Mir ist das zu mühsam.

Darüber hinaus gibt es noch ein kleines Script http://www.mypins.de/ibmhp_v3/pin_base/extrawin.js, das nichts anderes tut, als die Erscheinungsweise eines Popup-Fensters festzulegen, ein Script http://www.mypins.de/ibmhp_v3/pin_base/showpics.js, das deine Navigation schreibt, ein Script http://www.mypins.de/ibmhp_v3/loaddata.js, in dem alle deine 1066 möglichen "pins" aufgelistet sind und schließlich noch allerhand kleinere Scriptbereiche auf deiner Navigationsseite http://www.mypins.de/ibmhp_v3/frame_t.html. Auf dieser Seite sieht man zusätzlich, daß du Unsicherheiten im Umgang mit CSS hast. Deine Navigationsbereiche ("t0", "t1" usw.) sind allesamt absolut positioniert.

Der Support vom Bausteinprovider antwortet nicht (Weihnachten?). Ich komme nicht weiter.

Das gibt es häufiger. Der einzig sinnvolle Rat, den man dir geben kann, wird dir nicht gefallen: Verzichte auf dieses Javascript-Gewusel. Und da deine Frames eh alle untereinander stehen und es keinen linken oder rechten Rahmen gibt, sollte es dir auch leicht fallen, sie durch besser geeignete Layout-Elemente zu ersetzen.

Vermutlich hat dich dein Javascript sogar Geld gekostet. Dumm gelaufen; das hättest du dir sparen können.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|