我遇到类似问题this guy,除了我的问题与脚本有关而不是图像。
我使用$.getScript()
和$(window).load()
的组合来动态加载JavaScript,并使用脚本加载完成后正在加载的函数。
它在Chrome中运行良好,但Safari似乎总是过早地触发onload
事件。我想知道是否有某种方法可以强制Safari等待所有脚本的加载类似于document.body.offsetWidth
块。根据我的理解(以及我在测试时看到的结果),document.body.offsetWidth
会阻塞,直到样式和图像加载,但显然不是脚本。
编辑:它可能值得一提,它确实有时在Safari中工作,但我没有看到一个模式。有时事件在脚本完全加载并执行之前触发,并且处理程序通过$(window).load()
失败,因为函数缺失。
为什么你不能在'.getScript()'中使用'success'处理程序?一旦脚本完成加载,这将运行。 – 2011-05-18 18:12:11
我想这里真正的问题是为什么你动态加载所需的脚本。 – 2011-05-18 18:13:08
@Kevin Peno:我需要其余的脚本来加载,而不仅仅是一个脚本。有几个脚本正在加载。根据它们的功能,它们全部被分成自己的脚本。 – alexcoco 2011-05-18 18:16:53