2010-01-04 3 views
1

J'ai remarqué quelque chose de bizarre chez IE. Lorsque j'ai un objet flash (.swf) dans une page, toute action/fonction dans $ (document) .ready démarre après le chargement complet de l'objet swf. (Dans firefox, il n'est pas nécessaire que le swf soit entièrement chargé)

Pourquoi cela se produit-il, et comment puis-je l'empêcher?

+0

Pour ce que ça vaut, sur Firefox jQuery utilise l'événement clean 'DOMContentLoaded' pour déclencher' ready', alors que sur IE il utilise le hack horrible décrit sur http://javascript.nwbox.com/IEContentLoaded/. La raison pour laquelle 'doScroll' n'apparaît qu'après le chargement du Flash n'est pas claire, mais la raison pour laquelle tout fonctionne n'est pas claire ... – bobince

Répondre

3

Une simple solution hack consiste à ne pas intégrer le fichier SWF tant que la page n'est pas chargée. Laissez un blanc div avec un ID donné, et utilisez swfobject pour intégrer le swf dans le div sur document prêt.

+0

L'utilisation de swfobject vous protège également contre les futures incompatibilités d'intégration entre différents navigateurs, comme l'objet/embed Le vaudou est inclus dans la bibliothèque. –

Questions connexes