Ошибка загрузки selecvizr в <= IE8 только с использованием yepnope (modernizr.load) - PullRequest
3 голосов
/ 08 июля 2011

Я пытаюсь загрузить selectivizr через yepnope (Modernizr.load), но у меня возникают проблемы с командой test. На данный момент я взломал его с помощью rgba (как это влияет на

Вот код:

  <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>

Я знаю, что на сайте selectivizr написано, что вы должны загрузить его так:

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

Но это не работает, так как загружается до завершения jquery.

Также я знаю, что есть то есть! Префикс (ы) в yepnope, но я не могу понять, где / как включить этот файл. Кажется бессмысленным включать в файл IE 5k if для загрузки файла selektizr 4k.

Любая помощь / руководство приветствуется.

A

1 Ответ

2 голосов
/ 08 ноября 2012

Просто добавьте условные выражения в начало URL-адреса, после чего следует!:

<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>
...