我曾尝试自己找到答案,但只找到了有关如何使用 onload 事件的说明。我似乎没有捕获重点。
有人告诉我,如果我想在页面加载时发生某些事情,我应该像这样使用 window.onload:
<script>
window.onload = dosomething();
function dosomething()
{
window.alert('hello');
}
</script>
但现在我自己在思考,我想知道这样做的意义是什么。因为这也会产生相同的结果:
<script>
dosomething();
function dosomething()
{
window.alert('hello');
}
</script>
无论如何,我放在
<script>
顶部的任何内容都会执行……那么 window.onload 的意义何在? 最佳答案
如果您直接使用 dosomething();
运行代码,则会延迟浏览器的渲染,因为 JavaScript 代码需要运行。
您可以尝试将代码插入到 html 文档的 <head>
中:
<!DOCTYPE html>
<html>
<head>
<script>
dosomething();
function dosomething()
{
window.alert('hello');
}
</script>
</head>
<body>
Does not render before the alert is dismissed!
</body>
</html>
您会看到页面保持空白,直到您关闭警报。因此,浏览器运行 JavaScript 代码的每一秒都是用户必须等待网站呈现的一秒。
现在,如果您更改要在 body 的
onload
上运行的代码,页面将在显示警报之前呈现:<!doctype html>
<html>
<head>
<script>
function dosomething()
{
window.alert('hello');
}
</script>
</head>
<body onload="dosomething()">
This page gets rendered before the alert!
</body>
</html>
关于javascript - 为什么使用 window.onload,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35951299/