J'avoue que des fois IE a l'art et la manière de me prendre la tête.
Pas plus tard qu'il n'y a pas longtemps, comme disait Coluche, me voici amené à faire un système qui permet d'envoyer un fichier ainsi que diverses informations. Comme les fichiers peuvent être volumineux, je décide de faire un petit système tout simple : quand le formulaire sera soumis, un petit message ainsi qu'un GIF animé de chargement feront leur apparition, afin de bien signifier à l'utilisateur qu'il faut un petit peu de patience.
Jusqu'ici, rien de bien exceptionnel.
Je fais donc ledit formulaire, et je décide donc d'ajouter un évènement à la soumission de ce dernier (onsubmit), qui fait apparaître juste en-dessous le petit message ainsi que le GIF.
Je fais vite fait un petit javascript, je teste cela sous Firefox, tout fonctionne nickel. Je me dis : "chouette, c'est toujours un petit plus pour l'utilisateur, et ça fonctionne".
Je décide de montrer à un collègue le tout. Il navigue sous IE. Il choisit un fichier, décide de l'envoyer, le message apparaît ainsi que le GIF... mais ce dernier est fixe !
Je suis vivement surpris, tout fonctionnait si bien ! Je décide de tester cela sous Opéra, tout marche nickel. Je teste sur une autre machine avec IE, même problème, le GIF animé est désespérement... fixe.
On sait déjà que le problème apparaît avec IE uniquement, je décide d'investiguer.
Après des essais (a)variés (diverses combines en tous genres en Javascript) et des recherches un peu laborieuses, je trouve enfin la clé du problème : IE considère qu'il change de page à la soumission du formulaire, et je découvre que ce dernier arrête les animations GIF dans ce cas. Autrement dit, exit le GIF animé qui va bien !
Je commence à ronchonner : tout fonctionnait bien, et c'est encore cette daube infâme qui me casse les pieds (restons poli) !
Je ne m'avoue pas vaincu pour autant : je décide de transformer mon petit GIF animé en fichier swf, autrement dit en animation Flash (en désespoir de cause, je n'ai pas réussi à contourner le problème).
J'insère proprement mon animation flash via la méthode qui va bien, je teste... et ça marche ! (les autres navigateurs ne bronchent pas face à ce changement)
Bref, ne cherchons pas à comprendre la logique s'il y en a une...
Par dépit ou en désespoir de cause me sembleraient plus corrects, non?
Enfin je comprends que les délires de ce vieu clou perturbe.