HTML + Javascript: Dynamique de l'Image Redimensionner?

Je suis en train d'essayer d'obtenir quelques JavaScript de programmation pour régler un HTML img tag de la largeur de l'affichage de plusieurs images de taille correctement.

J'ai une largeur fixe img balise à 800px pour afficher une image, c'est la largeur max.

Si l'image est plus large puis 800px je veux l'afficher à 800px de large;

Si l'image est de moins de 800px large je veux préserver sa largeur afin d'éviter l'étirement il.

J'ai utiliser ce code html/javacript code pour obtenir une solution partielle:

JS:

function resize_image(id) {
	var img = document.getElementById(id);
	var normal_width = img.width;
	img.removeAttribute("width");
	var real_width = img.width;
	if (real_width < normal_width) {
		img.width = real_width;
	} else {
		img.width = normal_width;
	}
}

HTML:

<img id="myimage" onload="resize_image(self.id);" src="https://via.placeholder.com/350x150" width="800" />

Le code ci-dessus semble fonctionner sur tous les navigateurs que j'ai testé à l'exception Safari (les images ne s'affichent pas, sauf si vous actualisez la page).

Je sais que je peux utiliser les CSS max-width mais qui ne fonctionneront pas sur IE < 7, qui est un show stopper.

Comment puis-je obtenir ce travail pour tous les navigateurs? Merci beaucoup à l'avance.

InformationsquelleAutor QAZ | 2008-12-16