Support » Allgemeine Fragen » Javascript wird nicht geladen mit Lightbox und NGGallery

  • Gelöst danielschroth

    (@danielschroth)


    Liebes Forum,

    ein Blog von Freunden bringt mich zur Verzweiflung. Seit einiger Zeit (ein paar Tage) funktioniert die Fancybox nicht mehr, Fotos sind in Beiträgen über die kostenlose Version von NGGallery eingebunden.

    Beispiel:
    http://www.wirsindraus.com/wr1516/neuseeland1516/queenstown-wanaka-neuseeland/

    Theme ist DP Evolve (ein Bezahl-Theme), das hat aber nur bedingt damit zu tun. Dass die Fancybox nicht funktioniert, liegt daran, dass nicht alle JS-Ressourcen geladen werden. Das habe ich schon herausgefunden.

    Es geht aber nicht nur um die Skripte für die Fancybox, denn auch andere (wie z. B. die für die Admin-Bar) werden nicht geladen, obwohl die JS-Dateien korrekt im Quelltext referenziert werden. Die Admin-Bar wird also auch nicht angezeigt (obwohl natürlich im Profil aktiviert).

    Alle Plugins und WP sind aktuell, die Version des Themes ist zwar etwas älter, aber auch mit einer aktuellen funktioniert es nicht. Das habe ich getestet. Ich arbeite mit einem Child-Theme, aber auch mit dem Parent-Theme selbst klappt es nicht.

    Zwei Kuriositäten:

    1.) Sobald ich das Theme wechsle zu Twenty-xx, funktioniert es und alle nötigen Skripte werden geladen.

    2.) Auf meiner eigenen Webseite habe ich ungefähr das gleiche Setup mit dem gleichen Theme (Theme-Version unterschiedlich). Hier funktioniert die Lightbox anstandslos. Beispiel:
    http://www.weltreise.name/wissenswertes/reiseziele/6-gruende-fuer-neuseeland/

    Was habe ich bisher gemacht?
    * Plugins abgeschaltet.
    * Theme durch aktuelle Version ersetzt.
    * Neue WP-Installation, Datenbank importiert.
    * Neue WP-Installation mit älterer WP-Version (4.3.x), Datenbank importiert.
    * Diverse Plugins neu installiert, u.a. NGGallery.
    * Lokale frische Installation mit importierter Datenbank.
    * Berechtigungen auf dem Server überprüft.

    Hilft alles nicht. Fakt ist: Ein paar JS-Dateien werden korrekt referenziert, aber eben nicht geladen.

    Vielleicht weiß jemand Rat.

    Vielen Dank im Voraus,
    Daniel

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)
  • Hm, das ist ja kurios.

    Verwendest du bei der Website ein Cache-Plugin oder ein Plugin, das JS minimiert?
    (Wenn ja, welches?)

    Wenn das Problem behoben ist, sobald du zu einem Standard-Theme wechselst, scheint der Fehler ja im Theme oder Child-Theme zu liegen. Das ist aber ohne einen Einblick schwer zu beurteilen.

    Hast du mal nachgeschaut, mit welcher PHP-Version die Website läuft? Eine Abweichung hier könnte erklären, wieso es auf deinem Webserver funktioniert, bei deinen Freunden aber nicht.

    Thread-Ersteller danielschroth

    (@danielschroth)

    Hallo!

    Es tritt leider mit und ohne Cache-Plugin auf. Derzeit ist es (WPFC) nicht aktiviert.
    An der PHP-Version liegt es auch nicht, ich habe mit 5.6 und 7.0 getestet.

    Es liegt nach meiner Einschätzung nicht nur am Theme, da es ja woanders mit dem gleichen Theme anstandslos funktioniert (und sicher nicht nur auf meiner anderen Webseite) und weil die Skripte ja korrekt referenziert werden. Nur das Laden klappt nicht …

    Daniel

    Ich nehme an, dass soll WP Fastest Cache heißen?

    Ist

    • Minify Js
    • Js Kombinieren oder
    • Js-Kombinierung Plus

    aktiviert?

    Beim Deaktivieren von Cache-Plugins vergessen viele Anwender, dass durch die Einträge in der .htaccess (die sich beim Deaktivieren nicht von selbst löschen) weiterhin eine Version aus dem Cache ausgeliefert wird.

    Thread-Ersteller danielschroth

    (@danielschroth)

    Ja, das ist richtig mit den Namen vom Cache-Plugin.

    Es ist derzeit deaktiviert und auch die htaccess sieht leer aus bis auf die üblichen Einträge. Am Cache kann es nicht liegen, weil mir der ja auch nicht angezeigt wird, wenn ich eingeloggt bin.

    Karl Silver

    (@karlfox2014akakldkarl)

    Hallo, danielschroth.

    Du könntest ausprobieren, ob es mit der neuesten Version von jQuery behoben wird.
    Hierfür kannst du das Plugin https://wordpress.org/plugins/jquery-updater/ probieren.

    Wenn das Problem gleich bleibt, schau‘ doch mal ob der Einsatz von

    $.noConflict();

    dir weiter helfen könnte, siehe hier: https://api.jquery.com/jquery.noconflict/

    Ich hatte schon mal ähnliche Probleme, die hatten allerdings mit der Konfiguration des Fancybox-Plugins selbst zu tun. Hier könnte man noch prüfen, ob die Lightbox aktiviert wird über die CSS-Klasse oder ob das Plugin auf „automatisches Erkennen“ von Image-Links eingestellt ist.

    Gutes Gelingen!

    Thread-Ersteller danielschroth

    (@danielschroth)

    Danke Karl!

    jQuery-Updater hat leider nicht geholfen, ganz im Gegenteil: Danach war die Seite bis aufs body-Tag komplett leer und weiß.

    noConflict kenne ich nicht gut genug, werde mich beizeiten einmal damit befassen.

    Die Konfiguration der Fancybox ist soweit ich sehen kann in Ordnung, auch im Quelltext ist zu sehen, dass alles passt. Nur die JS werden nicht geladen … es ist zum Verrücktwerden!

    Daniel

    Karl Silver

    (@karlfox2014akakldkarl)

    Hallo, Daniel.

    1.
    Kannst du mal auf deiner anderen Webseite, auf der das Plugin funktioniert die Plugin-Settings öffnen?

    Ebenso auf der aktuellen Seite, bei der das Plugin nicht klappt.

    Wenn du die Settings nebeneinander stehen hast, hilft oft, die Settings-Screens 1 zu 1 miteinander zu vergleichen und zu prüfen, wo und ob Einstellungen sich unterscheiden.

    Evtl. ist für deine Page auch einfach nur eine Ausschluss-Regel (per post id oder Ähnlichem vergeben), die verhindert, dass die Lightbox auf dem entsprechenden Beitrag automatisch erzeugt wird.

    2.
    Auch ein Konfigurations-Konflikt zwischen der Lightbox und dem Gallery-Plugin ist nicht ausgeschlossen.
    Kannst du das Lightbox-Plugin mal komplett de-aktivieren und nur bei NGG in den Optionen den Effekt Lightbox wählen?

    Damit müsste – fürs erste – ja zumindest mal die Lightbox von NGG wirken.

    Karl

    Thread-Ersteller danielschroth

    (@danielschroth)

    Hi Karl,

    die Einstellungen habe ich verglichen. Sie unterschieden sich marginal, aber nur in Dingen wie Wasserzeichen oder anderem, die auf den Effekt keinen Einfluss haben sollten.

    Außerdem tritt es auf allen Beiträgen auf, Ausschluss-Regeln oder Ähnliches habe ich für keinen Beitrag definiert, auf keiner von den Webseiten.

    Der Konfigurations-Konflikt ist ja naheliegend, irgendwo wird es auch genau daran hapern, aber: NGGallery bringt ja die Fancybox (und ein paar andere) automatisch mit, sodass ich kein eigenes Lightbox-Plugin installiert habe.

    Ich habe gerade versucht, mir mit zusätzlichen Plugins zu helfen, Lightbox, Fancybox … aber da ich die Galerien ja innerhalb von NGG angelegt habe, haben diese wohl keinen direkten Einfluss darauf. Im Ergebnis hilft dies also auch nicht weiter …

    Daniel

    Karl Silver

    (@karlfox2014akakldkarl)

    Hi, Daniel.

    Alles klar. hatte angenommen, es handelte sich um ein Lightbox-Plugin zusätzlich zum Gallery-Plugin.

    Danke für die klaren Infos.

    Hast du schon mal versucht, einfach eine normale Page oder einen Beitrag anzulegen, einen Bild-Link manuell einzufügen und mit diesem Post (mal ganz ohne Gallery-Plugin) zu testen?

    Man kann sich hier eigentlich nur von einer möglichen Ursache zur nächsten durch-arbeiten.

    K

    Thread-Ersteller danielschroth

    (@danielschroth)

    Da hast du Recht, eine gute Idee. Werde ich machen, sobald ich wieder dazu komme.

    Danke!
    Daniel

    Da fehlt ein schließendes </noscript> in dem Textwidget, der dein Markup ab dieser Stelle kaputt macht:

    <div class="textwidget"><!-- BEGIN PARTNER PROGRAM - DO NOT CHANGE THE PARAMETERS OF THE HYPERLINK -->
    <script type="text/javascript" src="http://banners.webmasterplan.com/view.asp?ref=752587&js=1&site=4667&b=10&target=_blank&title=DKB-Partnerprogramm" ></script><noscript><a href="http://partners.webmasterplan.com/click.asp?ref=752587&site=4667&type=b10&bnb=10" target="_blank"></div>

    Repariere das mal und schaue, ob es dann geht.

    Gruß, Torsten

    Thread-Ersteller danielschroth

    (@danielschroth)

    Lieber Torsten,

    du bist mein Held, nicht nur des Tages, sondern der ganzen Woche. Du hast die Lösung gefunden, die so einfach auf der Hand liegt und für mich doch so undenkbar gewesen ist. Deswegen habe ich zuerst an allen anderen Stellen gesucht, aber darauf nicht geachtet.

    Das Widget habe ich korrigiert und es funktioniert anstandslos. Zukünftig werde ich auch solche Fehler mit in Betracht ziehen, wenn mal wieder etwas nicht funktioniert, was glücklicherweise selten vorkommt.

    Ich danke dir herzlichst und auch von den beiden Weltreisenden (deren Blog betroffen war) gilt dir noch mehr Dank. Du kannst dir kaum vorstellen, wie sehr du uns geholfen hast.

    Wie prüfst du denn auf gültiges Markup, welches Tool hilft dir dabei am besten? Oder siehst du das bei knapp 1500 Zeilen Code direkt mit dem Auge? 😉

    Danke!
    Daniel

    🙂

    Wie prüfst du denn auf gültiges Markup, welches Tool hilft dir dabei am besten? Oder siehst du das bei knapp 1500 Zeilen Code direkt mit dem Auge? 😉

    In diesem Fall ja, aber es war einfach. 😉

    Ich hatte mir den Quelltext mit Firefox angeschaut (Strg+u) und bei Firefox wird der Quelltext mit Syntax-Highlighting angezeigt. Und dieses Highlighting war ab dem fehlenden </noscript> kaputt. Und dann war es nicht mehr so schwer den Tag zu finden, an dem es lag.

    Entscheidend war dein Hinweis, dass es bei identisches Setup anderswo klappt. Damit konnte es nicht das Theme sein, aber ein Standard-Theme löste ja trotzdem das Problem, damit war nur etwas seitenspezifisches als Problem möglich, also habe ich mir die beiden Seiten parallel aufgemacht und mit Firebug angeschaut (meine erste Idee war, dass eine Komponente nicht geladen wird oder ein JS-Fehler, den ich in der Konsole finden würde). Da beides nichts der Fall war, habe ich den Quelltext direkt angeschaut, ob mir Unterschiede auffallen (Skriptreihenfolge falsch z.B.) – und da habe ich den Fehler dann recht schnell einfach gesehen (wie oben beschrieben) …

    Danke fürs Erfolg vermelden! Das freut immer besonders 🙂

    Gruß, Torsten

    Karl Silver

    (@karlfox2014akakldkarl)

    Hallo, Torsten.

    Danke für die genaue Beschreibung deines Prozesses, das ist für andere Situationen eine gute Anregung. Es bestätigt sich wieder einmal, dass man die einfachsten Möglichkeiten zu leicht übersieht und diese als erstes ausschließen müsste.

    Schön, dass jetzt alles klappt.

    K

    Thread-Ersteller danielschroth

    (@danielschroth)

    Guten Morgen zusammen,

    das ist sehr interessant. Ich nutze (auf Mac OS) Safari und Chrome und beide haben zwar auch Syntax-Highlighting, aber so intelligent ist deren Quelltextdarstellung dann wohl nicht, dass sie ein fehlendes Schlusstag erkennen bzw. ein Schlusstag erwarten, um das Highlighting weiter korrekt darzustellen.

    Sollte Firefox vielleicht doch mal wieder installieren, denn dieses Problem wird mich garantiert irgendwann nochmal einholen.

    Ich danke allen, die Zeit investiert haben in mein Problem, besonders natürlich Karl und Torsten. Klasse, dass einem hier so geholfen wird!

    Daniel

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)
  • Das Thema „Javascript wird nicht geladen mit Lightbox und NGGallery“ ist für neue Antworten geschlossen.