Any good reason not to use <script defer> TODAY?
从前,在
许多这样的文章已经指出,最佳实践/经验法则是将
This must be a duplicate╰(‵□′)╯
等待。。。
老帖子说
deferred script may results JS dependency issues
不,不会的。在解析DOM时,它会立即保留执行时的顺序。
It doesn't work cross vendors
是的,它曾经是,但是现在几乎所有主要的浏览器供应商都支持它:http://canius.com/search=defer,而且评论指出,IE<10可能有一些问题。
但是,它提供的好处似乎很明显,至少对我来说,因为它在早期(开始解析DOM之前)并行下载脚本,因此无需稍后请求脚本,并缩短了使整个页面交互所需的时间。
简而言之,这个问题类似于:任何不使用的好理由
1 2 3 4 5 6 | <head> ... <script src='cdn/to/jquery' defer> <script src='cdn/to/bootstrap' defer> <script src='script/depends/on/jqueryandbootstrap' defer> </head> |
而是使用:
1 2 3 4 5 6 | <body> ... <script src='cdn/to/jquery'> <script src='cdn/to/bootstrap'> <script src='script/depends/on/jqueryandbootstrap'> </body> |
是的,但这只是因为您使用的是jquery。
jquery不能与
如果您使用的是更现代的框架(react、angular 2、polymer、vue或其他任何东西),那么就开始使用它——或者甚至进入下一步,在新浏览器中使用