2010-12-01 29 views
2

Je rencontre le bug documenté où les navigateurs webkit rendent la page incorrectement lors du premier chargement parce que le javascript est en cours d'exécution avant que le css ait fini de télécharger (parce qu'ils ont été téléchargés en parallèle). Bien qu'un rafraîchissement rapide corrige l'apparence de la page, cette solution est inadéquate pour mon problème (je lance des utilitaires de ligne de commande qui prennent des captures d'écran de nos pages, mais ces utilitaires n'ont pas la possibilité de "rafraîchir" un page avant de prendre la capture d'écran)Puis-je désactiver la fonction de téléchargement parallèle Chrome/Webkit CSS & JS?

Quelqu'un a-t-il des suggestions ou des solutions pour s'assurer que le css-include est entièrement chargé avant l'exécution des javascript-include et inline-javascript?

Merci! -Dan

EDIT - N'utilisez pas de bibliothèque. Juste bon 'ol javascript.

Répondre

1

Si vous utilisez une bibliothèque, je pense que la plupart d'entre eux vous permettent de le faire. C'est facile avec jQuery, sinon vous pouvez utiliser un <script defer="(x number of second)">Function()</script> à la fin de la page. Vous pouvez également envisager de déplacer les javascripts vers le bas de la page lorsque cela est possible. js Best Practices.

0

+1 pour mettre vos scripts au bas de la page, pourrait aussi essayer de mettre votre script dans l'événement window.onload:

<script > 
function myCode(){ 
// do something 
alert('test'); 
} 
window.onload = myCode; 
</script> 

Je ne suis pas sûr à 100% si l'événement onload sera Attendez que le fichier .css soit chargé. mais c'est facile à essayer.