Contourner le bug ie6 qui n'affiche pas les images écrite avec javascript

Contenu du snippet

Bonjours

Voila j'ai cherché des jours et des jours pour trouver un moyen pour que ie6 affiche les images (<img src="..." alt=""/>), téléchargés avec la technologie AJAX et afficher au moyen d'un innerHTML, mais je n'ai trouvé aucune réponse dans les forums rien ... . J'ai fini par avoir une idée pour contourner le problème qui ne concerne que ie6. Transformer les balises img en iframe de tailles exactement pareille au image et ça marche !! Voici le script il faut pour qu'il fonctionne au moins un id à vos images et que l'obj en argument sois déjà intégré à la page le reste normalement ça se fait tous seul.

PS: si vous avez déjà penché sur le problème et trouver une meilleur solution je suis preneur ^^ :)

Source / Exemple :


function convImgInFrame(ObjHtml)
{
	rechercheNav=RegExp("MSIE [0-6].?[0-9]");
	if(!navigator.appVersion.match(rechercheNav))
	{
		return true;
	}
	var allImg = ObjHtml.getElementsByTagName("img");
	var TextObj = ObjHtml.innerHTML;
	for(var i = 0 ;i<allImg.length;i++)
	{
		try
		{
			var ImgSrc = allImg[i].getAttribute("src");
			var ImgId = allImg[i].getAttribute("id");
			var remplace = RegExp("<img[^<]*src ?= ?'?\"?"+ImgSrc+"\"?'?[^>]*>","gi");
			TextObj=TextObj.replace(remplace,'<iframe style="height:'+document.getElementById(ImgId).height+'px;width:'+document.getElementById(ImgId).width+'px " src="'+ImgSrc+'" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" id="'+ImgId+'"></iframe>');
		}
		catch(Error)
		{
			var erreur=true;
		}
	}
	if(erreur===true)
	{
		//alert affichée si il y a une erreur lors de la transformation verifier que vous ayez des id est que vous respecter les normes
		alert("Des images pourraient ne pas apparaitre correctement utilisé un navigateur récent");
	}
	ObjHtml.innerHTML = TextObj;
}

Conclusion :


Des idées pour optimiser ou des fautes d'orthographe et de grammaire dac je lis :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.