101 votes

FancyBox n ' t travail avec jQuery v1.9.0 [f.browser n’est pas défini / ne peut pas lire la propriété ' msie ']

FancyBox rompt avec le nouveau v1.9.0 jQuery.

Elle affecte tous les deux, Fancybox v1.3.4 et ci-dessous - et - v2.1.3 et ci-dessous.

Les erreurs sont :

v1.3.4 :

... autres erreurs

Dans v2.1.3 :

Si vous utilisez ceci pour appeler jQuery :

... les vos implémentations existantes de la fancybox échouera !

203voto

JFK Points 25974

Il me semble qu'il existe un bug dans jQuery signalé ici : http://bugs.jquery.com/ticket/13183 qui rompt le script Fancybox.

Vérifiez également https://github.com/fancyapps/fancyBox/issues/485 pour de plus amples référence.

Comme solution de contournement, la restauration de jQuery v1.8.3 alors que le jQuery bug est corrigé ou Fancybox est patché.


Mise à JOUR (Janvier 16, 2013): Fancybox v2.1.4 a été libéré et maintenant il fonctionne très bien avec jQuery v1.9.0.

Pour fancybox v1.3.4 - vous avez encore besoin de la restauration à jQuery v1.8.3 ou appliquer le script de migration comme l'a souligné @Manu réponse.


Mise à JOUR (Janvier 17, 2013): solution de Contournement pour les utilisateurs de Fancybox v1.3.4 :

Patch la fancybox fichier js pour le faire fonctionner avec jQuery v1.9.0 comme suit :

  1. Ouvrez le jquery.fancybox-1.3.4.js fichier (version complète, pas de version pack) avec un texte/html editor.
  2. Trouver autour de la ligne 29, où il est dit :

    isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest,
    

    et de la remplacer par (MODIFIÉ le 19 Mars 2013: plus précis filtre):

    isIE6 = navigator.userAgent.match(/msie [6]/i) && !window.XMLHttpRequest,
    

    Mise à JOUR (19 Mars 2013): Également remplacer $.browser.msie par navigator.userAgent.match(/msie [6]/i) autour de la ligne 615 (et/ou remplacer l' $.browser.msie des cas, le cas échéant), grâce joofow ... c'est tout!

Ou télécharger le déjà patché la version à partir d'ICI (mis à JOUR le 19 Mars 2013 ... grâce fairylee pour souligner le supplément de la fermeture de la parenthèse)

NOTE: ceci est un patch non officiel et n'est pas pris en charge par Fancybox est l'auteur, cependant il fonctionne comme est. Vous pouvez l'utiliser à vos risques et périls ;)

Optionnellement, vous pouvez plutôt la restauration de jQuery v1.8.3 ou appliquer le script de migration comme l'a souligné @Manu réponse.

29voto

Manu Points 211

Salut c'est dû à la nouvelle version de jQuery => 1.9.0

vous pouvez vérifier la mise à jour : http://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/

jQuery.Navigateur est obsolète. vous pouvez garder la version la plus récente par l'ajout d'un script de migration : http://code.jquery.com/jquery-migrate-1.0.0.js

remplacer :

<script src="http://code.jquery.com/jquery-latest.js"></script>

par :

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>

dans votre page et de son travail.

19voto

sabel Points 226

Événements mondiaux sont également déconseillées.

Voici un patch, qui résout les problèmes de navigateur et événement :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X