如果脚本标记在 HTML 页面的正文上方或下方,对网站的性能有影响吗?
如果像这样在两者之间使用怎么办:
<body>
..blah..blah..
<script language="JavaScript" src="JS_File_100_KiloBytes">
function f1() {
.. some logic reqd. for manipulating contents in a webpage
}
</script>
... some text here too ...
</body>
还是这样更好?:
<script language="JavaScript" src="JS_File_100_KiloBytes">
function f1() {
.. some logic reqd. for manipulating contents in a webpage
}
</script>
<body>
..blah..blah..
..call above functions on some events like onclick,onfocus,etc..
</body>
还是这个?:
<body>
..blah..blah..
..call above functions on some events like onclick,onfocus,etc..
<script language="JavaScript" src="JS_File_100_KiloBytes">
function f1() {
.. some logic reqd. for manipulating contents in a webpage
}
</script>
</body>
不用说一切都在 <html>
标签中!!
加载时它如何影响网页的性能?真的吗?哪一个是最好的,无论是在这 3 个中还是您知道的其他一些?
还有一件事,我在谷歌上搜索了一下,从那里我去了这里:加速 网站的最佳实践 它建议 把脚本放在底部,但传统上很多人把它放在 <head>
标签在 <body>
标签之上。我知道这不是规则,但很多人更喜欢那样。如果您不相信,请 _查看此页面的源代码_!并告诉我什么是最佳性能的更好风格。
原文由 Pratik 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认情况下,Javascript 资产倾向于阻止任何其他并行下载的发生。所以,你可以想象,如果头部有大量
<script>
标签,调用多个外部脚本将阻止HTML
加载,从而用空白屏幕迎接用户,因为在 JS 文件完全加载 之前 不会加载页面上的其他内容。为了解决这个问题,许多开发人员选择将 JS 放在 HTML 页面的底部(在
</body>
标记之前)。这似乎是合乎逻辑的,因为大多数时候在用户开始与网站交互之前不需要 JS。将 JS 文件放在底部也可以实现渐进式渲染。或者,您可以选择异步加载 Javascript 文件。有很多现有的方法可以通过以下方式实现:
XHR评估
脚本 DOM 元素
Meebo 内嵌 JS
仅举几例…
注意:当前浏览器最多只能同时加载五个脚本。
对于
IE
有defer
属性,您可以像这样使用:2022 年更新:所有浏览器现在都接受
defer
属性。