Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载和呈现所有资源(甚至从缓存)后是否存在跨浏览器事件?_Javascript_Jquery_Html_Cross Browser - Fatal编程技术网

Javascript 加载和呈现所有资源(甚至从缓存)后是否存在跨浏览器事件?

Javascript 加载和呈现所有资源(甚至从缓存)后是否存在跨浏览器事件?,javascript,jquery,html,cross-browser,Javascript,Jquery,Html,Cross Browser,我正在寻找一种在页面上的所有图像加载和呈现(不是一半,而是完全加载)后运行代码的方法 我发现window的load事件应该是一个跨浏览器事件,用于在页面上加载和解析所有内容,但我遇到了一个问题,即桌面和移动设备上的Safari在图像未缓存时过早启动它(几乎与DOMContentLoaded文档事件同时启动),但是,当它们已经被缓存时,就可以按预期工作 是否有跨浏览器的方法来确保页面上的所有图像都已加载和呈现,然后运行一些代码 我也在考虑有关onload窗口事件的评论,建议: 在某些浏览器中,它现

我正在寻找一种在页面上的所有图像加载和呈现(不是一半,而是完全加载)后运行代码的方法

我发现window的
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
事件,我会感到惊讶没有完成这项工作,除非页面非常复杂…:-)