Javascript 正在使用Modernizer加载脚本。。。不起作用
我在尝试使用现代化版本的yepnope加载脚本时遇到了问题,无法理解为什么它们不同。如果我使用yep nope加载脚本,它可以正常工作:Javascript 正在使用Modernizer加载脚本。。。不起作用,javascript,jquery,modernizr,Javascript,Jquery,Modernizr,我在尝试使用现代化版本的yepnope加载脚本时遇到了问题,无法理解为什么它们不同。如果我使用yep nope加载脚本,它可以正常工作: <script type="text/javascript" src="/js/yepnope.1.0.2-min.js"></script> <script type="text/javascript"> yepnope([ '/js/fancy-box-2.0.4/jquery.fancybox.css',
<script type="text/javascript" src="/js/yepnope.1.0.2-min.js"></script>
<script type="text/javascript">
yepnope([
'/js/fancy-box-2.0.4/jquery.fancybox.css',
'/js/jquery-1.7.min.js',
'/js/jquery.form-defaults.js',
'/js/jquery.cycle.all.js',
'/js/jquery.easing.1.3.js',
'/js/fancy-box-2.0.4/jquery.fancybox.js',
'/js/functions.js',
'http://use.typekit.com/uoy8fub.js'
]);
</script>
yepnope([
“/js/fancy-box-2.0.4/jquery.fancybox.css”,
“/js/jquery-1.7.min.js”,
“/js/jquery.form defaults.js”,
“/js/jquery.cycle.all.js”,
“/js/jquery.easing.1.3.js”,
“/js/fancy-box-2.0.4/jquery.fancybox.js”,
“/js/functions.js”,
'http://use.typekit.com/uoy8fub.js'
]);
但是如果我尝试使用Modernizer打包版本的yep nope,我无法加载任何内容。。。帮忙
<script type="text/javascript" src="/js/modernizr-2.0.6.js"></script>
<script type="text/javascript">
Modernizr.load([
'/js/fancy-box-2.0.4/jquery.fancybox.css',
'/js/modernizr-2.0.6.js',
'/js/jquery-1.7.min.js',
'/js/jquery.form-defaults.js',
'/js/jquery.cycle.all.js',
'/js/jquery.easing.1.3.js',
'/js/fancy-box-2.0.4/jquery.fancybox.js',
'/js/functions.js',
'http://use.typekit.com/uoy8fub.js'
]);
</script>
现代化负载([
“/js/fancy-box-2.0.4/jquery.fancybox.css”,
“/js/modernizer-2.0.6.js”,
“/js/jquery-1.7.min.js”,
“/js/jquery.form defaults.js”,
“/js/jquery.cycle.all.js”,
“/js/jquery.easing.1.3.js”,
“/js/fancy-box-2.0.4/jquery.fancybox.js”,
“/js/functions.js”,
'http://use.typekit.com/uoy8fub.js'
]);
Modernizer需要一个测试来决定做什么。通常情况下,Modernizr.load用于加载多边形填充,因此您应该阅读以下内容:更新:Modernizr.load
在版本3.0中已被弃用,而倾向于直接使用YepNope.js。
值得注意的是,modernizer.load只使用了yepnope库,它们是可以互换的。e、 g
yepnope({
test : Modernizr.geolocation,
yep : 'normal.js',
nope : ['polyfill.js', 'wrapper.js']
});
Modernizr.load({
test : Modernizr.geolocation,
yep : 'normal.js',
nope : ['polyfill.js', 'wrapper.js']
});
对于您的,请尝试:
Modernizr.load({
load: [
'/js/fancy-box-2.0.4/jquery.fancybox.css',
'/js/jquery-1.7.min.js',
'/js/jquery.form-defaults.js',
'/js/jquery.cycle.all.js',
'/js/jquery.easing.1.3.js',
'/js/fancy-box-2.0.4/jquery.fancybox.js',
'/js/functions.js',
'http://use.typekit.com/uoy8fub.js'
]
});
好的,但是如果我可以不用测试就使用yep-nope方法异步加载我的脚本,我应该可以使用Modernizer方法做同样的事情?太棒了!看起来我的语法有点错误。谢谢@ash-clarke@ashclarke现在yepnop已经不起作用了deprecated@MicFin考虑到这个答案已经有三年多的历史了,我并不感到惊讶。Chrome控制台:Modernizr.load不是一个函数
我在中调用Modernizr.js并运行此函数。为什么它不能工作?Modernizr.load已经被弃用,转而直接使用yepnope.js;从v3.0开始,页面中必须包含yepnope.js,以便modernizer.load正常工作:调用.load()只需将参数传递给yepnope();这将在将来的版本中完全删除
-