我有一个简单的 Javascript 函数,可以将其放置在 HTML 文档中的任何位置。所以我把它放在结束语的正下方,例如:
<html>
<body>
Some text.
<script>
document.getElementsByTagName('body')[0].innerHTML='hello';
</script>
</body>
</html>
我的问题是 - 通过 addEventListener("load") 函数加载此脚本是否有意义(从页面加载速度的 Angular 来看)? IE。如果我使用下面的代码 - 哪个会是首选?我知道当 Javascript 位于页面底部时,它无论如何都不会“阻止”页面渲染,因此使用 addEventListener 可能只会减慢执行速度?
<html>
<body>
Some text.
<script>
window.addEventListener("load",function()
{document.getElementsByTagName('body')[0].innerHTML='hello';},
false);
</script>
</body>
</html>
最佳答案
脚本通常不应该像这样直接放置在 HTML 中,因为它们阻止进一步的 HTML 解析,直到它们被执行。虽然如果您只有一个脚本,这不是问题,但如果您有两个、三个或更多脚本,并且其中一些脚本可能需要几毫秒才能解析怎么办?
不过,假设阻塞不是问题,从用户体验的 Angular 来看,方式或其他方式没有真正的区别。
脚本是有关如何与内容交互的信息,但实际上并不是内容本身,属于 <head>
国际海事组织。如果您不喜欢将所有内容都包装在 load
中监听器,您可以使用defer
解析整个 HTML 后自动运行脚本的属性:<script src="..." defer>
.
关于javascript - window.addEventListener ("load",function() 是否比放置在页面底部的 <script> 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49547748/