![](/img/trans.png)
[英]Modernizr.load and performance (cache) for conditionally loaded async resources
[英]Is it okay to async modernizr?
Google PageSpeed测试告诉我使用async
例如改变
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
至
<script async src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
现代化器还能正常工作吗?
Modernizr需要放在<head>
中有两个原因:
如果这些都不重要,您可以使用async属性和/或将其放在底部。
看看在Modernizr发布的这个问题
Modernizr 不需要放在<head>
。
无论何时包含它,Modernizr都将最终正常工作。
如果你使modernizr脚本异步 ,或者在一些重要的页面加载事件之后包含它( DOMContentLoaded
, window.onload
...)
feature
,文档head
no-feature
类) 将被延迟 。 window.Modernizr
也会被延迟,连同它的对象属性(即Modernizr.propery
) 简而言之,
async
加载可能会发生在CSS
坏事是不合适的样式(依赖于<html>
类的那些)应用了一段时间 JS
代码可能发生的坏事是,如果你使用Modernizr
全局对象,你可能不会直接使用它,也可能不会被加载 - 你将不得不以某种方式等待它 。 所以,不再: if(Modernizr.cssanimations){
// your feature-dependant code
}
但反而:
if(typeof Modernizr !== "undefined"){
//uitilize Modernizr global object here
} else {
// implement waiting for this object, let's say write short onModernizrLoad() function...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.