为什么只能在指定src时使用defer?

时间:2011-03-16 12:45:10

标签: javascript html

验证使用<script>标记的代码时,我在validator.w3.org上收到以下警告

  

元素脚本不能包含属性   延迟除非属性src也是   指定。

我不明白需要这个,有人可以解释一下吗?

2 个答案:

答案 0 :(得分:11)

延迟的意思是说“你可以在等待脚本到达之前继续解析HTML”。

如果脚本就在HTML中,那么你就不能(因为脚本在源代码中的方式)并且它没有意义(因为没有外部依赖会阻止解析)。 / p>

答案 1 :(得分:2)

Defer属性表示异步脚本加载(默认情况下,脚本在第一轮由浏览器加载,并在加载完成后立即执行)。

如果没有src属性,则无需加载,也无需延迟。