Étrange comportement de jQuery $ (window) .load () dans Safari

Une page est en cours de chargement dans un .

À l’intérieur de , j’ai une fonction qui attend patiemment le chargement de la page à l’aide de l’événement $(window).load() jQuery, censé attendre que TOUT le contenu de la page (images, javascript, css, etc.) soit chargé avant de tirer.

La fonction rappelle ensuite la page chargeant aide de postMessage pour renvoyer la hauteur du contenu dans .

J’ai testé les fonctionnalités de IE7, IE8, Firefox 2, Firefox 3, Opera et Chrome et tout fonctionne correctement. Lorsque j’essaie de charger la page dans Safari, la fonction rappelle avant que les images ne soient chargées … ce qui me donne une hauteur de page incorrecte.

Quelqu’un sait-il comment forcer Safari à attendre que les images soient chargées avant d’appeler une fonction (les solutions jQuery sont préférables dans ce cas)?

Le fait de rechercher un safari offset force la fin du chargement / de la mise en page du contenu, il bloque javascript jusqu’à la fin du retour. Vous pouvez l’utiliser comme ceci:

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