<脚本延迟>不能按预期工作

bay*_*ezy 1 javascript

我正在尝试defer执行脚本,因为在呈现页面之前执行脚本并不重要。但是,据我了解,它不起作用。

根据本文(和其他类似文章)的介绍,如果我使用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>
Run Code Online (Sandbox Code Playgroud)

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

如果删除defer属性,它将按预期工作。我没有正确理解什么?

Mar*_*gus 5

defer属性是特定于浏览器的http://caniuse.com/#feat=script-defer(感谢atmd)

如果不存在src属性,则不得指定defer和async属性。

检查第二种情况。