guycnoel
Messages postés2Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 3 septembre 2005
-
3 sept. 2005 à 00:50
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
4 sept. 2005 à 10:39
bonjour
voici une page avec un code hyper simplifié qui affiche des petites photos (thumbs). quand on clique sur une de ces photos, une fenêtre windows de la dimension de la photo s'ouvre avec la photo originale (original).
La 1ère fois que la photo original doit être chargée, ( img.src="original/"+image
), l'alert affiche une dimension width=0 et height=0. Quand la fenêtre (x) est fermée, et qu'on reclique sur la photo, l'alert fournit une taille correcte. D'après ce que j'ai lu, img.src doit normalement charger la photo, et les propriétés devraient être disponibles.
Pourquoi la taille de la photo originale n'est-elle pas disponible au moment du img.src ?
Comment faire pour solutionner ce problème (les photos pouvant avoir une taille aléatoire) ?
<head>
<title></title>
<script language="javascript">
<!--
function OpenImage(image)
{
alert (image);
var img=new Image();
img.src="original/"+image;
var height = img.height;
var width = img.width;
var n = new Date();
alert ("height " + height + " width "+width + " src "+img.src);
var x=window.open();
x.document.write('');
x.focus();
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 4 sept. 2005 à 10:39
les dimentions ne sont pas disponibles parce-que le javascript demande
à un autre thread du navigateur de charger cette image, donc, quand le
javascript s'exécute, l'image n'est pas encore chargée, on ne connait
pas encore ses dimentions...
découpe ta fonction en deux et mets un setTimeout....
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy