11550 sujets

JavaScript, DOM et API Web HTML5

Hello guys,

J'utilise un plug-in de Paul Irish (qui bosse notamment sur le fameux HTML5Boilerplate) qui résout les problèmes de cache lors d'un load() d'image depuis webkit et ie.
>> http://gist.github.com/268257

Donc le plug-in fait son taf, mais je me suis rendu compte que la fonction de callback semblait buggée. La première fois, tout va bien, un seul callback est renvoyé. Mais par la suite, à chaque fois s'ajoutent autant de callbacks qu'il y a d'images (donc sur un chargement de deux images, cela fait 1 callback, puis 3 callbacks, puis 5 callbacks, et ainsi de suite…).

Sur le lien suivant, vous verrez (si vous avez Firebug, ou depuis Safari, Chrome, Webkit ou Opéra ça marche aussi) le log dans la console : http://sebastien.vaneyck.free.fr/demo_load/

J'ai aussi ajouté des appels de log dans le plug-in : http://sebastien.vaneyck.free.fr/demo_load/jquery.preload.js

Bref, je vois pas trop pourquoi il y a de multiple callbacks.
Et c'est assez lourd comme problème, surtout niveau performances (selon ce qu'on appelle comme fonctions dans le callback bien sûr).

Merci à ceux qui jetteront un oeil !


EDIT : j'ai trouvé la solution ! (et dire que j'ai galéré la journée dessus…)

Dans le plug-in, il faut unbind l'event load() avant de le bind :

elems.unbind('load').bind('load',function(){
	// suite du code
});


Smiley biggrin
Modifié par ZeB_panam (09 Jul 2011 - 00:58)