2009-10-13 8 views
4

Est-il possible de détecter qu'une image d'arrière-plan css a été chargée? En utilisant des balises normales, ce serait facile, mais je dois utiliser un fond css parce que je place des divs sur l'image. La raison pour laquelle je dois détecter que cette image a été chargée est que je ne veux pas commencer à précharger des images supplémentaires avant que l'image d'arrière-plan ne soit affichée.Evénement Javascript css background image loaded

Répondre

1

Vous pouvez forcer le téléchargement de l'image d'arrière-plan dans le navigateur du client à l'aide des méthodes javascript traditionnelles pour précharger les images. Une fois qu'il est téléchargé, il est mis en cache par le client et s'affichera instantanément lorsque vous éditerez le fichier css en arrière-plan en javascript.

Soyez averti cependant, c'est une mauvaise pratique pour l'amélioration progressive. En d'autres termes, l'apparence de votre page web sera limitée par le support du navigateur pour le javascript.

+0

Que faire si le navigateur ignore le cache? Ensuite, l'image sera chargée deux fois. Peut-être pas une bonne solution. – Baversjo

+1

Si le navigateur ignore le cache, il ne sert à rien de précharger les images en utilisant javascript. – Kai

0

Avait le même problème. Après y avoir réfléchi pendant un moment, j'ai fait un <img> en dessous du <div> qui avait l'arrière-plan et l'a positionné comme arrière-plan en utilisant css. Puis attaché le onLoad là-dessus :)