javascript - 什么时候用window.onload?
PHPz
PHPz 2017-04-11 12:30:34
[JavaScript讨论组]

网上说在head里写JavaScript需要加window.onload,自己试着写了两段代码,结果代码2提示错误,删了window.onlad却能执行了,迷糊了。求解原因,及什么时候用window.onload

代码1:


代码2:


PHPz
PHPz

学习是最好的投资!

全部回复(6)
大家讲道理

基本不用 onload 一般将 script 标签放到 </body> 之前
这么做有两个好处:
1.不需要写 onload 因为在此时所有 DOM 元素已经初始化完毕
2.优先加载样式和 HTML 结构 防止脚本加载慢时导致页面显示空白

阿神

window.onload是页面加载完成才执行的吧
看一下这个http://www.jb51.net/article/4...

天蓬老师

window.onload是页面加载完成之后才执行里边的函数,你如果是放在要执行文本 的上边,必须写,如果你是放在要执行的文本 或者body标签下的话,就不需要window.onload

高洛峰

DOM加载完成后需要运行的js代码需要加window.onload,或者加到</body>之前.

PHP中文网

下面这段不会报错,因为function执行的时候, element "god"已经存在了.
<!DOCTYPE html>
<html>
<head>

<script type="text/javascript">
window.onload= function (){
    var god = document.getElementById('god');
    god.innerHTML="say something!";
}
</script>

</head>
<body>
<p id="god"></p>
</body>
</html>

下面就会报错, 因为这段js在head里,执行时 element "god" 还没创建.

<!DOCTYPE html>
<html>
<head>

<script type="text/javascript">
    var god = document.getElementById('god');
    god.innerHTML="say something!";
</script>

</head>
<body>
<p id="god"></p>
</body>
</html>

可以把上面的代码放在html尾部,就不会报错了.

但是一般不这么做,

一般可以把这段js放在一个js文件里,用script标签引入进来,用defer关键字来延迟加载.

PHP中文网

代码能不能貼全,错误都不能还原都在那瞎猜浪费时间,与其说加载顺序问题,我比较关注它的js写得有问题,例如这句document.getElementById('btn').click();感觉好像是没写完,还有.click()好像是jquery方法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号