Fancybox: JS-Fehler mit jQuery 1.9+

Datum: 25. März 2014
Autor*in: Stefan Oswald


Die letzte freie Version von Fancybox (1.3.4) beinhaltet eine Inkompatibilität mit jQuery ab Version 1.9, da dort die Unterstützung für jQuery.browser eingestellt worden ist. Darauf will das Fancybox-Script aber zugreifen. Das hat zur Folge, dass es auf der Konsole des verwendeten Browsers zu einer Fehlermeldung kommt und dass ggf. sonstiger JavaScript Code auf der Seite nicht mehr ausgeführt wird.

Konkret geht es nur um einen simplen Check für IE6. Dieser ist für uns grundsätzlich nicht mehr relevant. Anstatt den Code herauszuwerfen kann man ihn jedoch auch ganz einfach reparieren.

ACHTUNG: Es wird angenommen, dass die ungepackte Version von jquery.fancybox-1.3.4.js verwendet wird.

Zeile 28
Ersetze
isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
durch
isIE6 = navigator.userAgent.match(/msie [6]/i) && !window.XMLHttpRequest,

Zeile 615:
Ersetze
$.browser.msie
durch
navigator.userAgent.match(/msie [6]/i)

Danach sollte es keinen JS-Fehler mehr geben.


Dieser Artikel wurde verschlagwortet unter:


Kommentare

Selber kommentieren:






Weitere Beiträge zum Thema Technologie


HTML5 Please

Autor*in: Benjamin Hofmann


Technologie


Sehr praktisch um schnell nachschauen zu können, was geht und was man vermeiden sollte.


Beitrag lesen
24
JAN
12

AJAX Ladeschnecke ohne Bilder oder zusätzlichem CSS

Autor*in: Stefan Oswald


Technologie // User Experience & Design


Der Anwendungsfall tritt sehr oft ein: Eine Ergebnisliste soll nachgefiltert werden, und zur Visualisierung, dass gerade etwas im Hintergrund passiert, soll eine „Ladeschnecke“ (oder vielleicht etwas old-school-mäßig ein Fortschrittsbalken) angezeigt werden. Oftmals wird das so umgesetzt, dass man im „beforeLoad“-Ereignis des AJAX-Calls eine animierte Grafik hinzufügt, welche im „complete“-Ereignis wieder entfernt oder unsichtbar gemacht wird. …


Beitrag lesen
23
JUL
14

Einschränkung für Video AutoPlay ab Chrome 66

Autor*in: Stefan Oswald


Technologie // User Experience & Design


Seit der Verteilung von Chrome Version 66 tritt das Problem auf, dass Videos plötzlich nicht mehr von alleine starten, obwohl Autoplay vorgesehen und auch richtig konfiguriert ist. Besonders unpraktisch ist das für Bewegtbilder-Keyvisuals. Die Debug-Konsole liefert dabei folgenden Hinweis: Uncaught (in promise) DOMException: play() failed because the user didn’t interact with the document first. https://goo.gl/xX8pDD …


Beitrag lesen
07
MAI
18