我正在处理一个包含60多个图像的页面,并且dom:loaded事件在最后一个图像请求启动之前不会触发(未完全加载,这是预期的)。在较慢的连接上(使用一些节流器来模拟这个),这是非常值得注意的。 dom:loaded事件触发了一些可以在页面上进行javascript交互的内容,我希望尽可能早。
这似乎不是预期的行为,因为图像标记已经在页面上呈现(它在页面源中)。或者是吗?
答案 0 :(得分:0)
不,在完全下载图像文件之前,浏览器不会认为<img>
标记已完全呈现。是的,这是记录和预期的行为。
如果您想在原型中使用onDomReady功能,请查看此脚本:http://www.skyrocket.be/download/prototype.domReady.js
另一种选择,有些人不喜欢这样,所以我冒险说出这个,就是把你的脚本放在文档的最后。 Javascript在遇到时执行,文档的构建方式相同,因此文档末尾的javascript块意味着脚本可以访问它上面的所有DOM节点。
请注意,根据HTML规范,在文档正文中使用脚本块是完全有效和正确的,如果您这样做,您的页面将验证。事实上,雅虎和谷歌都建议在文档末尾放置脚本块以改善页面渲染时间。有些人觉得这样做很难看。我曾经有同感。但美丽是在旁观者的眼中。