4 Stimmen

Javascript Ereignis css Hintergrundbild geladen

Gibt es eine Möglichkeit zu erkennen, dass ein css-Hintergrundbild geladen wurde? Mit normalen Tags wäre dies einfach, aber ich muss einen CSS-Hintergrund verwenden, weil ich Divs über das Bild platziere. Der Grund, warum ich erkennen muss, dass dieses Bild geladen wurde, ist, dass ich keine zusätzlichen Bilder vorladen möchte, bevor das Hintergrundbild angezeigt wird.

1voto

Kai Punkte 9186

Sie können den Download des Hintergrundbildes in den Browser des Kunden erzwingen, indem Sie herkömmliche Javascript-Methoden zum Vorladen von Bildern verwenden. Sobald es heruntergeladen ist, wird es vom Client zwischengespeichert und sofort angezeigt, wenn Sie das Hintergrundbild-CSS in Javascript bearbeiten.

Seien Sie jedoch gewarnt, dies ist eine schlechte Praxis für die progressive Verbesserung. Mit anderen Worten, das Erscheinungsbild Ihrer Webseite wird durch die Javascript-Unterstützung des Browsers eingeschränkt.

0 Stimmen

Was ist, wenn der Browser den Cache ignoriert? Dann wird das Bild zwei Mal geladen. Das könnte keine gute Lösung sein.

2 Stimmen

Wenn der Browser den Cache ignoriert, hat es keinen Sinn, Bilder mit Javascript vorzuladen.

0voto

Camilo Martin Punkte 35643

Ich hatte das gleiche Problem. Nachdem ich eine Weile darüber nachgedacht hatte, machte ich eine <img> unter dem <div> die den Hintergrund hatte, und positionierte ihn mit css als Hintergrund. Dann fügte ich die onLoad darauf :)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X