<script defer =“”>没有按预期工作

时间:2015-08-26 11:38:11

标签: javascript

我正在尝试推迟我的脚本执行,因为在呈现页面之前执行它并不重要。但是,它并没有像我理解的那样工作。

&#xA;&#xA;

根据这篇文章(和其他人一样),如果我使用 defer ,那么执行顺序就会被保留。但是,当使用 highlight.js 时,我看到了不同的行为。我的脚本文件如下所示: -

&#xA;&#xA;
 &lt; script defer type =“text / javascript”src =“// cdnjs.cloudflare.com/ajax/ libs / highlight.js / 8.7 / highlight.min.js“&gt;&lt; / script&gt;&#xA;&lt; script defer type =”text / javascript“&gt; hljs.initHighlightingOnLoad();&lt; / script&gt;& #xA;  
&#xA;&#xA;

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

&#xA;&#xA;

&#xA;&#xA;

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

&#xA;

1 个答案:

答案 0 :(得分:4)

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

  

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

检查你的第二个案例。