Javascript 脚本延迟不';似乎没有如预期的那样工作
我进行了以下测试,以查看Javascript 脚本延迟不';似乎没有如预期的那样工作,javascript,Javascript,我进行了以下测试,以查看defer属性是否延迟脚本块的执行。有两个脚本块。第一个带defer属性,第二个带out属性。如果我理解正确,则该属性会在完成所有html解析(包括其他scriptblock)后强制浏览器执行该块 但从控制台上看,我总是先看“from deferred”。为什么呢?defer是否对本地脚本块不起作用 <html> <body> ... <script type="text/javascript" defer> con
defer
属性是否延迟脚本块的执行。有两个脚本块。第一个带defer
属性,第二个带out属性。如果我理解正确,则该属性会在完成所有html解析(包括其他script
block)后强制浏览器执行该块
但从控制台上看,我总是先看“from deferred”。为什么呢?defer
是否对本地脚本
块不起作用
<html>
<body>
...
<script type="text/javascript" defer>
console.log('from deferred');
</script>
<script type="text/javascript">
console.log('from regular');
</script>
</body>
</html>
...
log('from deferred');
console.log('from regular');
仅适用于外部脚本:
如果src
属性不存在(即对于内联脚本),则不得使用该属性,在这种情况下,该属性将无效
要为动态插入的脚本实现类似效果,请改用async=false
。带有defer属性的脚本将按照它们在文档中的显示顺序执行
而且
在浏览器继续解析页面之前,将立即获取并执行不带async
或defer
属性的脚本以及内联脚本
因为本地脚本是在页面完成解析之前执行的,defer
将不适用<代码>延迟在解析之后应用,但在之前应用