dom:在最后一个<img/>请求启动之前加载不启动。 (原型js)

时间:2010-01-09 00:30:39

标签: javascript events dom prototypejs

我正在处理一个包含60多个图像的页面,并且dom:loaded事件在最后一个图像请求启动之前不会触发(未完全加载,这是预期的)。在较慢的连接上(使用一些节流器来模拟这个),这是非常值得注意的。 dom:loaded事件触发了一些可以在页面上进行javascript交互的内容,我希望尽可能早。

这似乎不是预期的行为,因为图像标记已经在页面上呈现(它在页面源中)。或者是吗?

1 个答案:

答案 0 :(得分:0)

不,在完全下载图像文件之前,浏览器不会认为<img>标记已完全呈现。是的,这是记录和预期的行为。

如果您想在原型中使用onDomReady功能,请查看此脚本:http://www.skyrocket.be/download/prototype.domReady.js

另一种选择,有些人不喜欢这样,所以我冒险说出这个,就是把你的脚本放在文档的最后。 Javascript在遇到时执行,文档的构建方式相同,因此文档末尾的javascript块意味着脚本可以访问它上面的所有DOM节点。

请注意,根据HTML规范,在文档正文中使用脚本块是完全有效和正确的,如果您这样做,您的页面将验证。事实上,雅虎和谷歌都建议在文档末尾放置脚本块以改善页面渲染时间。有些人觉得这样做很难看。我曾经有同感。但美丽是在旁观者的眼中。