扫码关注官方订阅号
想请问一下哪些内容应该放在window.onload里面,我看有好多都是把全部的js代码都放在里面,这样在里面写函数那不是会创建很多闭包,而闭包会影响性能。还有就是如果我的script标签放在body结束标签的前面,这样还需要window.onload吗。
ringa_lee
window.onload是在在文档装载完成后会触发。此时,在文档中的所有对象都在DOM中,所有图片,脚本,链接以及子框都完成了装载。 如果script标签放在body结束位置时,这时执行的文档dom已经装载完(不包括所有图片,脚本,链接),可以不用写window.onload。
关于性能:我觉得因为这样才出现了模块化,CommonJS同步加载(nodejs),AMD依赖关系前置,CMD按需加载,这些都是管理js代码的方法,减少影响的有效途径.
关于</body>前的<script></script>个人见解:window.onload事件明确规定了事件在页面上所有的DOM、样式表、脚本、图片和flash都已经加载完成了之后.
而当我们把script标签放在body结束标签前的时候,我们并不能和window.onload事件一样保证加载的完成度(图片),仅仅表示DOM解析完毕,并不代表着资源完美呈现.
关于详细的方面可以自己去搜索下资料,深入了解下window.onload和DOMContentLoaded事件还有浏览器解析步骤
首先要区别window.onload和domready,window.onload是页面所有资源加载完成后才会执行。domready仅仅是dom元素加载完成后执行。所以一般来说,window.onload会在domready后面执行,因为页面一般避免不了图片和其他资源下载。个人一般直接把js写在body最下面,因为那个时候已经是dom加载完成了,所以本人一般不用window.onload和domready。如果要用的话,建议使用domeady或则jquery的$(function(){ ... })。
window.onload
domready
dom
js
body
domeady
jquery
$(function(){ ... })
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
window.onload是在在文档装载完成后会触发。此时,在文档中的所有对象都在DOM中,所有图片,脚本,链接以及子框都完成了装载。
如果script标签放在body结束位置时,这时执行的文档dom已经装载完(不包括所有图片,脚本,链接),可以不用写window.onload。
关于性能:
我觉得因为这样才出现了模块化,CommonJS同步加载(nodejs),AMD依赖关系前置,CMD按需加载,这些都是管理js代码的方法,减少影响的有效途径.
关于</body>前的<script></script>
个人见解:
window.onload事件明确规定了事件在页面上所有的DOM、样式表、脚本、图片和flash都已经加载完成了之后.
而当我们把script标签放在body结束标签前的时候,我们并不能和window.onload事件一样保证加载的完成度(图片),仅仅表示DOM解析完毕,并不代表着资源完美呈现.
首先要区别
window.onload和domready,window.onload是页面所有资源加载完成后才会执行。domready仅仅是dom元素加载完成后执行。所以一般来说,
window.onload会在domready后面执行,因为页面一般避免不了图片和其他资源下载。个人一般直接把
js写在body最下面,因为那个时候已经是dom加载完成了,所以本人一般不用window.onload和domready。如果要用的话,建议使用
domeady或则jquery的$(function(){ ... })。