CSS-Menü lädt nicht im Frame -HILFE-
Roland
- css
Hallo,
ich habe ein riesiges Problem! Ich habe für eine bestehende Seite ein Menü auf CSS-Basis nach folgendem Muster verwendet: http://aktuell.de.selfhtml.org/artikel/dhtml/treemenu/beispiel.htm
Wenn das Menü nun in einem Frame liegt, dann wird zwar die Struktur mit allen Menü- und Untermenüpunkten angezeigt, die Funktion des auf- und zuklappens funktioniert aber nicht. Wenn man den Frame dann direkt lädt, dann funktioniert alles so wie es soll! (Das selbe Phänomen ist auch bei dem o.g. Beispiel!)
Wie kann man das CSS-Menü bei Frames nutzen!!! Hat jemand eine Idee? Geht es überhaupt???
Wäre sehr dankbar für Eure Hilfe, versuche es nun seit über 40 Stunden am Stück, das Ding zum Laufen zu bringen!!!
Gruß Roland
Hi,
Wenn das Menü nun in einem Frame liegt, dann wird zwar die Struktur mit allen Menü- und Untermenüpunkten angezeigt, die Funktion des auf- und zuklappens funktioniert aber nicht.
das halte ich für ein Gerücht. Du erwartest vermutlich, dass die Untermenüs in einem fremden Fenster dargestellt werden - das ist so natürlich absolut unmöglich.
Wie kann man das CSS-Menü bei Frames nutzen!!!
Fragen beendet man mit _einem_ _Fragezeichen_, nicht mit einer beliebig hoch gewählten Menge anderer Satzzeichen. Warum misshandelst Du Deine Site eigentlich mit Frames?
Cheatah
Ich möchte lediglich die Funktion des Auf- und Zuklappens nutzen! Wenn ich den Frame einzeln, also außerhalb eines Framesets lade, dann funktioniert es einwandfrei! Wenn aber das Menü-Frame über ein Frameset geladen wird, dann stellt er das Menü dar, als wenn alle Untermenüs aufgeklappt wären und diese lassen sich dann auch nciht zuklappen! Wieso istr das nur, wenn der Frame in der Seite liegt und nicht wenn der Frame als eigene Seite geladen wird!
Wer es nicht glaubt, der kann sich ja mal ein Frameset erstellen und das o.g. Beisspiel als Frame integrieren, wenn dann die Seite geladen wird, dann zeigt er direkt alle Untermenüpunkte an!?!?!? (Ohne das Beispiel in irgendeiner Form zu verändern)
Hat da jemand eine Idee???
Roland
hi,
Wer es nicht glaubt, der kann sich ja mal ein Frameset erstellen [...]
Wenn du hier Hilfe willst, dann gehe bitte soweit in Vorleistung, dass _du_ ein Onlinebeispiel bereitstellst, an dem sich der Sachverhalt nachvollziehen lässt.
Oder glaubst du, jeder hier hätte Lust anzufangen selber zu basteln, um _dein_ Problem nachzuvollziehen?
gruß,
wahsaga
Wenn das Menü nun in einem Frame liegt, dann wird zwar die Struktur mit allen Menü- und Untermenüpunkten angezeigt, die Funktion des auf- und zuklappens funktioniert aber nicht.
Die Javascript-Konsole deines Browsers sagt dir, dass in der Funktion treeMenu_init die Variable array undefiniert ist. Knackpunkt ist folgende Funktion:
var array = new Array(0);
if(data != null && data != "") {
array = data.match(/\d+/g);
}
Wie in den Erläuterungen zum Beispiel dargestellt, dient der zweite Parameter data dazu, eine gespeicherte Menüstruktur wiederherzustellen, wozu onunload die Funktion 'treeMenu_store' aufgerufen wird. Möchtest du diese Funktionalität nicht, musst du beim Initialisieren als zweiten Parameter einen Leerstring übergeben.
Das Problem liegt m.E. darin, dass innerhalb eines Framesets der Name nicht über window.name manipuliert werden kann, deshalb geht das Wiederherstellen schief und dein Array ist auf einmal keines mehr. Abhilfe schafft es, innerhalb der if-Anweisung array nochmals explizit als Array zu deklarieren:
var array = new Array(0);
if(data != null && data != "") {
array = new Array(data.match(/\d+/g));
}
So klappt's auch im Frameset, nur für die Wiederherstellungsfunktion musst du dir noch was einfallen lassen (wenn du sie brauchst ...).
Siechfred
Vielen Dank für deinen Eintrag!
Leider funktioniert es trotzdem nicht, ich verzweifel! :(
Warum muss das so kompliziert sein!?
Leider funktioniert es trotzdem nicht, ich verzweifel! :(
Dann befolge wahsagas Rat und stelle uns ein Onlinebeispiel zur Verfügung.
Siechfred