Hallo Leute, hallo Georg
Wir bauen unsere neue Webseite um, und weil es sich hier um keinen Kunden handelt, sind wir nicht zimperlich neue Sachen auszuprobieren. Daraus entstehen jedoch einige Probleme. Hier das aktuellste davon:
Wir setzen ein Flashmenü ein, welches sich dynamisch per XML die Seitenstruktur holt und diese darstellt (inklusive Links). Der Inhalt wird mit Hilfe der mootools in ein Target-DIV geladen, ohne dass die ganze Seite neu geladen werden muss (mit dem Flash-Menü wäre das echt hässlich).
Hier kommt das Problem mit den rgtabs, welche jedes Mal ein unterschiedliches Javascript im Head der Seite schreiben (der DIV-Name variiert je nach CE). Hier ist ein Link zu der stripped-down Version, damit man sich auf das Wesentliche konzentrieren kann:
und hier das dynamische XML:
http://neu.future-media.ch/index.php?id=3&type=555
Wie ihr sieht, kommt die erste Seite gut und rgtabs funktioniert auch prima, weil die DIV-Namen stimmen und der trigger im Head ausgelöst wird. Wenn man einen Punkt im Menü anklickt, wird der Inhalt zwar richtig geladen, aber mit einen anderen DIV-Namen von rgtabs.
Wenn man die Unterseiten direkt lädt, funktioniert rgtabs wieder:
http://neu.future-media.ch/index.php?id=145
http://neu.future-media.ch/index.php?id=286
Fällt jemandem etwas ein, wie man diese Konstellation zum Laufen bringen könnte? Mir kommt nur das in den Sinn:
1. Den Trigger von rgtabs statt im Head im Body der Seite als funktion ausgeben und gleich ausführen.
2. Weil aber per Ajax geladene Javascripte nicht ausgeführt werden, müsste ich am Ende meiner Lade-Funktion die rgtabs-Funktion aufrufen.
Dabei sehe ich (ohne es ausprobiert zu haben) folgende Probleme:
1. Ich müsste in rgtabs Änderungen machen - unschön und nicht update-freundlich
2. weil die rgtabs-Triggerfunktion gleich nach dem Klick ausgeführt wird, wird der eigentliche Inhalt noch nicht geladen sein. OK, man kann auch ein timeout setzen, aber wie lange? Das wird bei langsamen Leitungen nicht reichen, bei schnellen wird der Benutzer zuerst alle CEs untereinander sehen, damit sich diese dann plötzlich zusammensetzen ...
Da ich kein Profi bin, wäre ich für allfällige Lösungsansätze sehr dankbar.
lg, Erik