现在使用modernizr加载条件
javascript文件有哪些好的做法,因为在最新版本的modernizr中不推荐使用yepnope和.load.
以前能够使用.load函数.
http://modernizr.com/docs/#load
Modernizr.load({ test: Modernizr.geolocation,yep : 'geo.js',nope: 'geo-polyfill.js' });
现在.load与yepnope一起被弃用.
https://github.com/SlexAxton/yepnope.js/
在yepnope被弃用之前参考答案
Loading Scripts Using Modernizr… Not Working
解决方法
您可以使用
jQuery’s getScript method.我认为您也可以使用.fail而不是else语句.花了我的早晨搞清楚这一点,并一直试图回答这些,以节省一些时间的人!
像这样的东西?
if (Modernizr.geolocation) { jQuery.getScript("geo.js") //it worked! do something! .done(function(){ console.log('geo.js loaded'); }); } else { jQuery.getScript("geo-polyfill.js") //it worked! do something! .done(function(){ console.log('geo-polyfill.js loaded'); }); }