Bonjour !

Je vous explique mon problème : je souhaite afficher une image par défaut et charger en arrière plan grâce à JS une seconde image, si le chargement de cette image est correct, alors je l'affiche à la palce de celle par défaut, sinon je laisse celle par défaut.

J'ai réalisé 2 scripts, un en javascript pur et l'autre grâce à Jquery.

Les 2 marchent très bien sur tous les navigateurs (IE8 compris) mais pas sous IE9...le premier fait carrement planter IE et le seconde le freeze pendant quelque secondes.

J'ai essayé plein d'autres façon de faire mais tjs pareil...

mes 2 scripts :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
//html
<img src="no_member.png" onload="loadImgFB(this, 'https://www.monimage.com/monimage.jpg');"/>
 
//Javascript
function loadImgFB(elem, url)
{
	var img = new Image();
	img.src = url;
	img.onload = function()
	{
		elem.src = img.src;
 
	};
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
//html
<img src="no_membe.png" class="imgFB"  data-url="https://www.monimage.com/monimage.jpg" />
 
//javascript
$(document).ready(function () 
	{
	  $('.imgFB').each(function(i, elem)
	  {
		 var img = new Image();
		 $(img).load(function()
		 {
			$(this).replaceAll($(elem));	 
		 }).error(function(){}).attr('src', $(elem).attr('data-url'));
	  });
	});