Javascript 加载和呈现所有资源(甚至从缓存)后是否存在跨浏览器事件?
我正在寻找一种在页面上的所有图像加载和呈现(不是一半,而是完全加载)后运行代码的方法 我发现window的Javascript 加载和呈现所有资源(甚至从缓存)后是否存在跨浏览器事件?,javascript,jquery,html,cross-browser,Javascript,Jquery,Html,Cross Browser,我正在寻找一种在页面上的所有图像加载和呈现(不是一半,而是完全加载)后运行代码的方法 我发现window的load事件应该是一个跨浏览器事件,用于在页面上加载和解析所有内容,但我遇到了一个问题,即桌面和移动设备上的Safari在图像未缓存时过早启动它(几乎与DOMContentLoaded文档事件同时启动),但是,当它们已经被缓存时,就可以按预期工作 是否有跨浏览器的方法来确保页面上的所有图像都已加载和呈现,然后运行一些代码 我也在考虑有关onload窗口事件的评论,建议: 在某些浏览器中,它现
load
事件应该是一个跨浏览器事件,用于在页面上加载和解析所有内容,但我遇到了一个问题,即桌面和移动设备上的Safari在图像未缓存时过早启动它(几乎与DOMContentLoaded
文档事件同时启动),但是,当它们已经被缓存时,就可以按预期工作
是否有跨浏览器的方法来确保页面上的所有图像都已加载和呈现,然后运行一些代码
我也在考虑有关onload
窗口事件的评论,建议:
在某些浏览器中,它现在接管document.onload的角色,并在DOM就绪时激发
我不确定这是否相关,但我在文档中的JQuery图像加载事件中也发现了以下警告:
与图像一起使用时加载事件的注意事项
开发人员试图使用.load()解决的一个常见问题
快捷方式是在图像(或
图像)已完全加载。有几个已知的警告
这一点值得注意。这些是:
- 它在跨浏览器中无法稳定工作,也不可靠
- 如果图像src设置为与以前相同的src,则在WebKit中无法正确触发
- 它不能正确地在DOM树上冒泡
- 对于已经存在于浏览器缓存中的图像,可以停止激发
@T.J.Crowder好的,无论如何谢谢你的帮助!建议删除jQuery文档中有关
img
load
事件的无关内容。@T.J.Crowder谢谢,提到它可能与fwiw无关,我认为没有任何此类事件(但我不能肯定)。如果用setTimeout(function(){/*在这里完成工作*/},100)响应window
的load
事件,我会感到惊讶代码>没有完成这项工作,除非页面非常复杂…:-)