2010-03-26 47 views
3

我有一个页面正在加载。

的里面,我有一个函数,耐心等待页面加载使用jQuery的这是应该要等到ALL网页内容(图片,JavaScript,CSS等)发射前装$(window).load()事件。

该功能然后回拨到使用postMessage加载的页面,以将中的内容的高度返回。

我测试了IE7,IE8,Firefox 2,Firefox 3,Opera和Chrome的功能,一切正常。当我尝试在Safari中加载页面时,该功能会在加载图像之前重新调用它,从而给我错误的页面高度。

有没有人知道如何强制Safari等待图像加载之前调用一个函数(在这种情况下jQuery解决方案是可取的)?

回答

5

检查偏移力Safari浏览器是否完成加载/布局输出内容,它会阻止JavaScript,直到返回完成。你可以这样使用它:

$(window).load(function() { 
    var block = document.body.offsetWidth; 
    //Rest of code... 
});