Ошибка загрузки selecvizr в <=IE8 только с использованием yepnope (modernizr.load)
Я пытаюсь загрузить selectivizr через yepnope (Modernizr.load), но у меня возникают проблемы с командой test. На данный момент я взломал его с помощью rgba (как это влияет на <=IE8), но это также влияет на старые браузеры Opera и FF, так что не идеально (и выглядит мусором)
Вот код:
<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, но я не могу понять, где / как включить этот файл. Кажется бессмысленным включать файл 5k if IE для загрузки файла 4k selectizr.
Любая помощь / руководство приветствуется.
1 ответ
Просто добавьте условные выражения в начало 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>