我已经离开网页设计/开发很长时间了,最近又开始重新投入其中。我开始做一些事情只是为了让它们工作,现在我又回到了它,我想更清楚地理解一些事情 - 包括浏览器请求 DOM 的时间到它完全加载的时间,以及页面顶部和底部的脚本放置之间的差异。
我意识到这更像是http://doctype.com的帖子,但我想我会从这里得到更技术性的答案。我也想将其设为社区维基,但我还没有足够的积分。
请随时在这里纠正我 - 我的问题/假设:
- 当浏览器发出页面请求时,服务器会使用包含脚本、CSS 和 html 的层次结构/顺序的文档对象进行响应 - 正确吗?
- 一旦收到,浏览器就会构建一个文档对象树 - 这是在 DOM 准备就绪时还是在它开始在浏览器中渲染页面上的元素时?
- 在这方面,“当 DOM 加载时”和“当 DOM 准备好时”有什么区别?
- 将 (java)script 放在顶部(在 head 标签中)或放在底部(在
</body>标签之前)有什么区别吗?
- 当浏览器完全加载所有资源(css、图像、javascript 等)时是否会触发 DOM 事件?我问这个问题是因为有时浏览器可能仍在加载背景图像,并且在它完成之前,我的 Javascript 动画已经开始执行。
感谢您花时间阅读本文,期待您的回复!