fancybox per AJAX nachladen

tekilla209

Mitglied
Hallo,

ich habe folgendes Problem: Ich habe eine Seite, deren Content Dynamisch per AJAX geladen wird.
In dem nachzuladendem Content befindet sich auf manchen Unterseiten eine Fancybox.
Beim ersten laden der Unterseite funktioniert die Fancybox auch einwandfrei. Wenn ich die gleiche oder eine andere unterseite per AJAX nachlade, funktioniert die fancybox leider nicht mehr.

Ich erhalte die Fehlermeldung: "loading is undefined". Ich hab gestern schon nen halben Arbeitstag dafür geopfert. Unter anderem habe ich das hier:
http://stackoverflow.com/questions/4079821/using-fancybox-in-an-ajax-loaded-page
gefunden, leider funktioniert auch das nicht.
 
Ich hab Fancybos nicht im Einsatz, weil ich selbst fancy bin. Brauche keine extra Box dafür.

Was mir bei Ajax-Basteleien allerdings gelegentlich passiert und mich schon mal zum durchdrehen gebracht hat, war ein per Ajax nachgeladenes <script>-Tag. Schau mal, ob du per Ajax einen Block nachlädst, in dem auch ein <script> steht. Wenn ja, verschiebe es irgendwo hin, wo es immer stehen bleibt und nicht überschrieben wird.
 
das problem ist nicht ein einzelnes <script> tag, sondern dass ich komplette Seiten (inclusive html header etc.) nachlade. Und dabei eben auch die fancybox und anderes jquery zeug.

evtl. muss dass aber gar nicht so sein. Evtl. kann ich mit etwas aufwand alle Seiten so gestallten, das sie kein js mehr enthalten und sämtliche js funktionen in der übergeordneten Seite laden.
Ansonsten wäre ich mit einem iframe evtl. besser beraten als mit ajax...
 
Dann liegts ziemlich sicher daran.

Musst du wirklich die komplette Seite mit allem nachladen? Das ist doch gerade das schöne an Ajax, dass man das nicht mehr muss.

Wenn du sowieso alles nachlädst, warum dann ein iframe und nicht so, wie man das früher gemacht hat? :-)

Ich würde an deiner Stelle entweder die Seite als ganz normale Seite neu aufrufen oder mein Ajax-Konzept überdenken. Du brauchst den Header nicht neu nachzuladen. Den Title, Keywords usw. kannst du auch per Ajax neu setzen, wenns sein muss.
 

Neue Beiträge

Zurück