我正在尝试推迟
我的脚本执行,因为在呈现页面之前执行它并不重要。但是,它并没有像我理解的那样工作。
根据这篇文章(和其他人一样),如果我使用 defer
,那么执行顺序就会被保留。但是,当使用 highlight.js 时,我看到了不同的行为。我的脚本文件如下所示: -
< script defer type =“text / javascript”src =“// cdnjs.cloudflare.com/ajax/ libs / highlight.js / 8.7 / highlight.min.js“>< / script>
< script defer type =”text / javascript“> hljs.initHighlightingOnLoad();< / script>& #xA;


 现在我理解它们应该按顺序执行,这与 async
的行为不同。但是,我在Chrome中遇到以下错误(版本44.0.2403.157)。



如果我删除 defer
属性按预期工作。我没有正确理解的是什么?
答案 0 :(得分:4)
defer属性是浏览器特定的http://caniuse.com/#feat=script-defer(感谢atmd)
如果是src,则不能指定defer和async属性 属性不存在。
检查你的第二个案例。