我正在尝试通过yepnope (Modernizr.load)加载selectivizr,但是在使用测试命令时遇到了问题。目前我已经使用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完成之前加载的。
我也知道有一个ie!yepnope中的前缀,但我想不出在哪里/如何包含这个文件。包含一个5k的if IE文件来加载一个4k的选择器文件似乎是毫无意义的。
如有任何帮助或指导,我将不胜感激。
一个
发布于 2012-11-08 09:12:57
只需在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>https://stackoverflow.com/questions/6623906
复制相似问题