Modernizr.load 已弃用。 Yepnope.js 已弃用。怎么办?
Modernizr.load Deprecated. Yepnope.js Deprecated. Now what?
在 Modernizr v3 之前,我使用的是 yepnope.js
Modernizr.load 和 yepnope.js 都已弃用。我们现在如何有条件地调用样式表或 javascript 文件?
使用 Modernizr v2.5.3 的示例:
Modernizr.load({
test: Modernizr['object-fit'],
nope: ['./dist/scripts/object-fit.js'],
complete: function(){
if (!Modernizr['object-fit']) {
jQuery(".poster img").imageScale({
scale: "best-fill",
rescaleOnResize: true
});
}
}
});
有a new syntax and the feature names are all lowercase. You can combine that with jQuery's getScript method.
看起来像这样:
if (Modernizr.objectfit){
jQuery.getScript("./dist/scripts/object-fit.js")
//it worked! do something!
.done(function(){
console.log('js loaded');
})
//it didn't work! do something!
.fail(function(){
console.log('js not loaded');
});
} else {
jQuery(".poster img").imageScale({
scale: "best-fill",
rescaleOnResize: true
});
}
在此处查看脚本: — 不需要 jQuery。 (请注意,答案中有一个较短的 Promise 示例;不要在第一个示例后停止阅读(就像我一样))。
CSS:loadCSS
:https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
——在某种程度上,这甚至比 YepNope.js 更好,如果你不需要它的任何功能,除了加载东西 + 回调。因为上面链接的东西比 yepnope.js.
小(小于 min.js.gz
)
(并且可以与 Modernizr
结合,就像他的回答中显示的 mhk
一样。)
在 Modernizr v3 之前,我使用的是 yepnope.js
Modernizr.load 和 yepnope.js 都已弃用。我们现在如何有条件地调用样式表或 javascript 文件?
使用 Modernizr v2.5.3 的示例:
Modernizr.load({
test: Modernizr['object-fit'],
nope: ['./dist/scripts/object-fit.js'],
complete: function(){
if (!Modernizr['object-fit']) {
jQuery(".poster img").imageScale({
scale: "best-fill",
rescaleOnResize: true
});
}
}
});
有a new syntax and the feature names are all lowercase. You can combine that with jQuery's getScript method.
看起来像这样:
if (Modernizr.objectfit){
jQuery.getScript("./dist/scripts/object-fit.js")
//it worked! do something!
.done(function(){
console.log('js loaded');
})
//it didn't work! do something!
.fail(function(){
console.log('js not loaded');
});
} else {
jQuery(".poster img").imageScale({
scale: "best-fill",
rescaleOnResize: true
});
}
在此处查看脚本: — 不需要 jQuery。 (请注意,答案中有一个较短的 Promise 示例;不要在第一个示例后停止阅读(就像我一样))。
CSS:loadCSS
:https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
——在某种程度上,这甚至比 YepNope.js 更好,如果你不需要它的任何功能,除了加载东西 + 回调。因为上面链接的东西比 yepnope.js.
小(小于min.js.gz
)
(并且可以与 Modernizr
结合,就像他的回答中显示的 mhk
一样。)