Modernizr.load 已弃用。 Yepnope.js 已弃用。怎么办?
Posted
技术标签:
【中文标题】Modernizr.load 已弃用。 Yepnope.js 已弃用。怎么办?【英文标题】:Modernizr.load Deprecated. Yepnope.js Deprecated. Now what? 【发布时间】:2016-03-03 09:04:29 【问题描述】:在 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
);
);
【问题讨论】:
【参考方案1】:有a new syntax 并且功能名称都是小写的。您可以将其与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
);
【讨论】:
非常感谢@mhk!抱歉,这么久才回复。 澄清一下,这对我有用:``` $(function() if (Modernizr.objectfit) else $.getScript("./dist/scripts/object- fit.js", function() $(".img-scale").imageScale( scale: "best-fill", rescaleOnResize: true ); ); ; ); ```【参考方案2】:在这里查看脚本:https://***.com/a/7719185 — 不需要 jQuery。 (请注意,答案中有一个较短的 Promise 示例;不要在第一个示例之后停止阅读(就像我一样)。
这里是 CSS:loadCSS
:https://github.com/filamentgroup/loadCSS/blob/master/src/loadCSS.js
——在某种程度上,这甚至比 YepNope.js 更好,如果你不需要它的任何功能,只需要加载东西 + 回调。因为上面链接的东西比 yepnope.js 小(小于min.js.gz
)。
(并且可以与Modernizr
结合,就像他的答案中显示的mhk
。)
【讨论】:
以上是关于Modernizr.load 已弃用。 Yepnope.js 已弃用。怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
已弃用:指令 'allow_url_include' 在第 0 行的 Unknown 中已弃用
UIAlertView 已弃用:首先在 iOS 9.0 中弃用 - UIAlertView 已弃用。将 UIAlertController 与首选样式一起使用
已弃用:each() 函数已弃用。 C:\xampp\htdocs\phprojekt\library\Zend\Cache\Backend.php 在第 66 行 [重复]