3 votes

Problème de chargement de selecvizr pour <=IE8 uniquement avec yepnope (modernizr.load)

J'essaie de charger selectivizr via yepnope (Modernizr.load) mais j'ai des problèmes avec la commande test. Pour l'instant, j'ai bidouillé en utilisant rgba (car cela affecte <=IE8) mais cela affecte aussi les anciens navigateurs Opera et FF, donc ce n'est pas l'idéal (et ça a l'air nul).

Voici le code :

  <script>
    yepnope.errorTimeout = 2000;
  Modernizr.load([
    {
      load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
      complete: function () {
        if ( !window.jQuery ) {
              Modernizr.load('scripts/jquery-1.6.1.min.js');
        }
      }
    },
        {
            test : Modernizr.mq(),
            nope : 'scripts/respond.min.js'
        },
        {
            test : Modernizr.rgba,
            nope : 'scripts/selectivizr-min.js'
        }
  ]);
  </script>

Je sais que sur le site de selectivizr, il est dit qu'il faut le charger comme ceci :

<!--[if (gte IE 6)&(lte IE 8)]>
  <script type="text/javascript" src="selectivizr.js"></script>
<![endif]--> 

Mais cela ne fonctionne pas car il est chargé avant que jquery ne finisse.

Je sais aussi qu'il existe un ie ! Prefix(es) dans yepnope mais je ne sais pas où/comment inclure ce fichier. Il semble inutile d'inclure un fichier IE de 5k pour charger un fichier selectizr de 4k.

Toute aide ou orientation est la bienvenue.

A

2voto

Il suffit d'ajouter les conditions au début de l'URL, suivies d'un !

<script>
  // yepnope 1.5.4
  yepnope.errorTimeout = 2000;
  Modernizr.load([
    {
      load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js',
      complete: function () {
        if ( !window.jQuery ) {
              Modernizr.load('scripts/jquery-1.6.1.min.js');
        }
      }
    },
        {
            test : Modernizr.mq(),
            nope : 'scripts/respond.min.js'
        },
        {
            load : 'iegt5!ielt9!scripts/selectivizr-min.js'
        }
  ]);
</script>

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