在编写HTML页面时,一些网站建议将脚本写在BODY标签的末尾而不是写在开头。我看到过这样做可以提高页面刷新的性能。但是,当DOM解析所有标记后才呈现HTML页面时,这种方法如何帮助提高性能?
在编写HTML页面时,一些网站建议将脚本写在BODY标签的末尾而不是写在开头。我看到过这样做可以提高页面刷新的性能。但是,当DOM解析所有标记后才呈现HTML页面时,这种方法如何帮助提高性能?
有一个惯例是将依赖项(如jQuery)放在head标签内。 然而,如果不将DOM加载到窗口中,则脚本无法访问它。
请查看以下示例:
<!DOCTYPE html>
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js
</script>
</head>
<script type="text/javascript">
$('#appleTest').html("Apples are great.");
</script>
<body>
<div id="appleTest">
</div>
</body>
如果你运行这个代码,你将无法在浏览器窗口中看到“苹果很棒”的内容,因为jQuery选择器没有任何东西可以选择。
如果你将脚本移动到</body>
标签下面,当jQuery选择器方法被调用时,它可以找到div,因为它已经被加载到窗口中。<link rel="preconnect" href="https://api.mixpanel.com" />
<link rel="preconnect" href="https://cdn.mxpnl.com/" />
或者
<link rel="prefetch" href="https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js" as="script">
defer
、async
和type='module'
。 - Beki