我已经远离网页设计/开发很长一段时间了,现在已经开始重新进入它。我开始做的只是为了让它们工作,现在我又回到了它,我想更清楚地理解一些事情 - 包括浏览器请求DOM何时完全加载DOM,以及脚本放置在页面顶部和底部之间的区别。了解有关DOM和脚本执行的HTTP请求/响应
我意识到这是更多的http://doctype.com的职位,但我想我会从这里得到更多的技术性答案。我也想把这个社区维基做成这个,但是我还没有足够的观点。
请随时在这里纠正我 - 我的问题/假设:
- 当浏览器对页面的请求时,服务器与包含脚本的层次/顺序文档对象,CSS响应和HTML - 正确?
- 一旦收到,浏览器就会建立一个文档对象树 - 这是DOM准备好的时候,还是在浏览器的页面上开始渲染元素的时候?
- 在这方面,“何时加载DOM”和“何时DOM准备就绪”之间有什么区别?
- 把(java)脚本放在顶部(在head标签中)还是在底部(在
</body>
标签之前)有什么区别? - 当浏览器加载所有资源(css,images,javascripts等)时,是否有一个DOM事件触发完全?我问这是因为有时我可能会有一个仍然由浏览器加载的背景图片,并且在它完成之前,我的Javascript动画已经开始执行。
感谢您花时间阅读本文,我期待您的回复!
感谢ü乔,这也帮助不少。我觉得自己像一个小菜一样,再次穿过这一切......但我宁愿觉得自己只是一个小菜,而不愿意继续不了解基本面!因此,如果在页面的顶部有脚本访问或修改某个HTML元素,那么当页面(以及所有资源被加载)或被抓取时它会运行吗? – magz 2010-08-30 23:56:13
我们只能使用方法加载时,我知道它是否异步hapens – blackHawk 2016-11-18 05:30:07
为了更快的页面加载,我们把脚本放在body标签的底部 – blackHawk 2016-11-18 05:30:59