mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 03:14 Benutzername: Passwort: Auto-Login

Thema: Lightbox Problem in Verbindung mit AJAX vom 09.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Lightbox Problem in Verbindung mit AJAX
Autor Nachricht
--Daniel--
Threadersteller

Dabei seit: 09.06.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 09.06.2007 13:59
Titel

Lightbox Problem in Verbindung mit AJAX

Antworten mit Zitat Zum Seitenanfang

Hallo,

ich habe ein Problem mit der Lightbox (neueste Version).
Ich habe eine Bildergalerie, die mit AJAX und PHP realisiert ist.

Nun ist das Problem, dass die Bilder die von der AJAX-Seite zwar mit dem richtigen Lightbox-Code (rel="lightbox") kommen, aber die Lightbox trotzdem nicht funktioniert. Wenn ich die AJAX-Seite so öffne, dann funktioniert es einwandfrei. Hab auch schon versucht, das angeblich nötige HTML-Grundgerüst dazuzubauen, doch hilft alles nichts.

Die Seite ist folgende: http://web24.srv7.mw-internet.net/seychelles-in-style/default.php?cousine_island (Klick auf "Bilder anzeigen")

Hoffe, ihr habt ne Idee.

Vielen Dank schnonmal!

Schönen Gruß,
Daniel
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Sa 09.06.2007 17:58
Titel

Antworten mit Zitat Zum Seitenanfang

Gibt es eine Fehlermeldung?
Wenn ja, welche?

Was sagt die JavaScript-Konsole deines Browsers dazu?
(notfalls: Extras/Fehler-Kosole im Firefox)

Oder du könntest auch den JavaScript-Debugger "Venkman" installieren, wenn du mit dem Firefox (Mozilla, o.ä.) arbeitest.

Selbst der MSIE verfügt über einen JS-Debugger.
Und andere gute Browser wie Opera ebenfalls.

Damit solltest du jedenfalls zu brauchbaren Fehlermeldungen kommen, wenn dir sonst nichts angezeigt wird.
Und dann kann man das Problem angehen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Sa 09.06.2007 18:02
Titel

Antworten mit Zitat Zum Seitenanfang

Das Problem dürfte ein ganz einfaches sein: Das LB Script parsed
beim Laden der Seite den Quelltext und prüft die Element auf die
LB-relevanten Attribute.

Wenn Content nachträglich per innerHTML etc attached wird, dann
funktioniert ganze Trick nicht mehr. Deswegen werden die "neuen"
Bilder einfach nur geöffnet, ohne die Lightbox zu nutzen.

BTW: Content der per Ajax geladen ist, würde ich nicht mit einem
kompletten <html> etc Set reinladen ..
  View user's profile Private Nachricht senden
--Daniel--
Threadersteller

Dabei seit: 09.06.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 09.06.2007 19:59
Titel

Antworten mit Zitat Zum Seitenanfang

Hi,
danke euch erstmal!
@ rob: also Fehlermeldungen gibts keine...
@ dastef: Jap, das hab ich nur vorrübergehend eingebaut, um zu testen, obs ohne AJAX funktioniert.

Hmm, also hat jemand vielleicht einen Ansatz, um auch im Nachhinein die Lightbox aufzurufen? Vielleicht auch mit den Alternativen (Greybox, Thickbox, Slimbox usw.)?

Gruß,
Daniel
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 10.06.2007 09:46
Titel

Antworten mit Zitat Zum Seitenanfang

Ich würd mal in der Doku von Prototype stöbern .. in deren Ajax
Methoden gibts sicher was passendes dafür.

und welche der Boxen du dann einsetzt, ist letzt endlich auch egal.
wenn eine funktioniert, funktioniert der rest auch.
  View user's profile Private Nachricht senden
Raumwurm

Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 10.06.2007 09:56
Titel

Antworten mit Zitat Zum Seitenanfang

Nur so eine Idee, schon versucht initLightbox nach dem
Ajaxladevorgang nochamoi aufrufen (im prototype
gibts doch diese Ajax.Responders)
  View user's profile Private Nachricht senden
Account gelöscht


Ort: -
Alter: -
Verfasst Mo 11.06.2007 07:56
Titel

Antworten mit Zitat Zum Seitenanfang

Ajax.Responders ist eigentlich ein globaler Listener, der bei jedem Ajax-call ein Event feuert. Ist ganz praktisch zur Steuerung von Ladescreens/Balken.

Aber trotzdem kann man wie gesagt das schon mal probieren, wenn man nicht in die Lightbox selbst rein will. Man kann ja mal versuchen, die Methode initLightbox() nach jedem Ladevorgang erneut aufzurufen.

Zitat:
Ajax.Responders.register({
onComplete: function() {
initLightbox();
}
});


Trotzdem, schöner wärs, das direkt in deinem Ajax-Request zu verwurschteln. Also anstelle von

Zitat:
function show_img(n) { ...
kannst du mit Prototype ganz Simpel mal folgendes versuchen:

Code:

...your Eventhandler goes here {
new Ajax.Request('deine Url', {
  onSuccess: function ( transport ) {
    // deine Bilder reinfummeln
    // myDiv.innerHTML = transport.responseText();
  },
  onComplete: function() {
    // Lightbox initialisieren, komme was wolle
    initLightbox();
  }
});
}


bzw. du verwendest die entsprechenden Methoden der generischen Ajax-Instanzen, die du auf deiner Seite verwendest (falls vorhanden, ich kenne mich damit nicht so aus, reine Faulheit *zwinker*)[/quote]
 
 
Ähnliche Themen Lightbox bei ajax eingebundenem Content
[CSS + AJAX] Problem mit Darstellung im IE
AJAX Problem mit Internet Explorer
[Ajax] Prototype Funktion Ajax.Updater - Brauche Hilfe
Lightbox CSS Problem
lightbox js - problem
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.