begin process at 2012 02 11 04:32:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > CONTOURNER LE BUG IE6 QUI N'AFFICHE PAS LES IMAGES ÉCRITE AVEC JAVASCRIPT

CONTOURNER LE BUG IE6 QUI N'AFFICHE PAS LES IMAGES ÉCRITE AVEC JAVASCRIPT


 Information sur la source

Note :
Aucune note
Catégorie :Trucs & Astuces Classé sous :ie6, image, invisible, explorer, ajax Niveau :Débutant Date de création :25/05/2007 Date de mise à jour :25/05/2007 16:57:32 Vu :7 506

Auteur : micmonay

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

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

  • 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;
  • }
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 :)


 Historique

25 mai 2007 01:05:25 :
Ajout AJAX dans les mots clef
25 mai 2007 01:09:26 :
Amélioration
25 mai 2007 16:57:34 :
Optimisation suite au commentaire

 Sources de la même categorie

Source avec Zip Source avec une capture SUBDIVISER LE RÉSULTAT D'UNE RECHERCHE EN PAGES par kimmp
Source avec Zip TIMER : SETTIMEOUT & SETINTERVAL AMÉLIORÉS par jdmcreator
Source avec Zip Source avec une capture ONGLETS ET CHANGEMENT INSTANTANÉ DE LA LANGUE par william voirol
Source avec Zip Source avec une capture COPIER DU TEXTE par m22001111
Source avec Zip DIALOGUE ENTRE FENÊTRES MÈRE ET FILLE par william voirol

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DIAPORAMA SIMPLE PAR IFRAME par sartoz
Source avec Zip ROTATION D'UNE IMAGE, ANIMATION par william voirol
Source avec Zip Source avec une capture MISE EN CACHE D'IMAGES AUTO [AJAX] par Allan007
Source avec Zip ALBUM PHOTO 3D(MERCI ADELAMI) AVEC GESTION FICHIER CONFIG (E... par ylebailly
LES STATS DE LYCOS SANS LA PETITE IMAGE par decontaminator

Commentaires et avis

Commentaire de kankrelune le 25/05/2007 15:30:45

Bof bof comme technique... c'est surtout du au fait que IE ne fait pas trop attention au contenu qu'il intègre via innerHTML que ce soit du texte ou du contenu html c'est du pareil au même... .. .

Asseye plutôt un truc du genre...

var allImg = ObjHtml.getElementsByTagName("img");
for (var i=0; i<allImg.length; ++i)
    allImg[i].src = allImg[i].getAttribute("src");

@ tchaOo°

Commentaire de micmonay le 25/05/2007 16:16:41

Hello

Merci pour ta réponse mais malheureusement elle ne fonctionne pas :( j'avais déjà créer une fonction pareil et elle n'as pas marcher j'ai essayer la tienne et elle ne joue pas non plus (sur win2000 ie6) dommage. Mais je vais quand même utiliser tes 3 lignes pour essayer  d'améliorer ma fonction.

++

une autre idée je suis preneur :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

HTML [ par fafal ] Hello, j'ai un petit probleme avec mon tableaux je voudrai supprimer l'espace qui il y a en dessous de l'image afin que le boutons sois collé en bas a Background-image marche pas avec Internet Explorer [ par amer_ezahir ] Salut ; j'ai un problème d'affichage d'une "background-image" au niveau de Internet Explorer , sur Fire fox ça marche trés bien ! j'ai recherché sur popup image ie6 firefox [ par alligo ] Bonjour à tous,je ne connais quasi rien de javascript j'ai juste pris un script sur un site qui le proposait et je l'ai recopié.j'ai un petit probleme utiliser ajax pour ouvrir une nouvele page dans la page en cours [ par msiham05 ] salut a tous le monde j'ai un probleme dans l'utilisation utiliser ajax pour ouvrir une nouvele page dans la page en cours [ par msiham05 ] salut a tous le monde j'ai un probleme dans l'utilisation utiliser ajax pour ouvrir une nouvele page dans la page en cours [ par msiham05 ] salut a tous le monde j'ai un probleme dans l'utilisation probleme internet explorer et ajax [ par momo11985 ] Bonjour J'ai réaliser une application d'autocompletion en ajax.Cette application marche très bien avec firefox mais ne fonctionne pas sous internet Zoom sur une image en ajax [ par ircland ] Bonjour,mes niveau de ajax etant nul, et de javascript moyen, je cherche une source qui me permet de zoomer sur une image onmouseover, enfait je veux effet ajax puis changer image puis effet ajaxy [ par Annadrill ] bonjour,voilà, j'ai une div avec une image dedans et j'aimerais que lorsque je clique sur un lien, la div se ferme (effect.Fade), puis une fois fermée


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,214 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales