Chrome for me一直是Web标准的参考,遗憾的是不支持defer,IE从5.5版开始就支持它.为什么?
js.js
document.getElementById ("hi").innerHTML = "Hi :)";
Run Code Online (Sandbox Code Playgroud)
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<script defer="defer" src="js.js"></script>
<title>Hi</title>
</head>
<body>
<div id="hi"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我总是将脚本标记放在页面底部,因为在HTML/CSS和文本加载完成之后加载脚本是一种很好的做法.我刚刚发现了defer属性,它基本上做了同样的事情,就是在获取和执行脚本之前等待页面完成加载.
因此,如果使用defer属性,是否有必要将脚本标记物理地放置在页面底部和头部标记内?
我发现将脚本标记保留在head部分中的可读性更好.
<script src="script.js" defer="defer"></script>
Run Code Online (Sandbox Code Playgroud)
要么
<script defer="defer">
// do something
</script>
Run Code Online (Sandbox Code Playgroud)