Bonjour à tous,
J'utilise une fonction Javascript pour re-dimensionner mes images, elle fonctionne bien, à une excetpion près: avec le navigateur Firefox au premier chargment de la page cette fonction ne marche pas correctement, et dés que l'on re-actualise la page c'est bon.

Donc a priori Firefox met en cache la fonction et l'utilise au chargement suivant de la page.

Cependant je souhaiterai que la fonction se déclenche dés le premier chargement.

Voici ma fonction :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function redimImage(inImg,maxWidth,maxHeight,inAlt,inClass){
   // inImg : Chemin relatif de l'image; inMW  : Largeur maximale; inMH   : Hauteur maximale ; alt : string alt; class: position relative 
 
 
  // Declaration d'un objet Image
  var oImg = new Image();
  // Affectation du chemin de l'image a l'objet
  oImg.src = inImg;
  var dW ;
  var dH ;
  var h = oImg.height;
  var w = oImg.width;
  // Si la largeur ou la hauteur depasse la taille maximale
  if ((h >= maxHeight) || (w >= maxWidth)) {
    // Si la largeur et la hauteur depasse la taille maximale
    if ((h >= maxHeight) && (w >= maxWidth)) {
      // On cherche la plus grande valeur
      if (h > w) {
        dH = maxHeight;
        dW = parseInt((w * dH) / h, 10);
      } else {
        dW = maxWidth;
        dH = parseInt((h * dW) / w, 10);
      }
    } else if ((h > maxHeight) && (w < maxWidth)) {
      // Si la hauteur depasse la taille maximale
      dH = maxHeight;
      dW = parseInt((w * dH) / h, 10);
    } else if ((h < maxHeight) && (w > maxWidth)) {
      // Si la largeur depasse la taille maximale
      dW = maxWidth;
      dH = parseInt((h * dW) / w, 10);
    }
 
  }else {
  	dW = w;
  	dH = h;
  }
 
    document.write('<img src="' + inImg + '" width="' + dW + '" height="' + dH + '" border="1" alt="'+ inAlt + '" class=" ' + inClass + '" /> ');
}

Ma question est donc, comment faire pour forcer le bon fonctionnement du script dès le premier chargement de la page, ou alors où est l"erreur dans mon script ?


Le cas où ça ne fonctionne pas correctement, les valeurs retournées pour width et height sont "0", les autre résultats sont corrects.


Je développe en Jsp, l'appel de la page est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<script language="javascript" type="text/javascript"><!--//--><![CDATA[//><!--
						                    		redimImage('<bean:write name='image' property='downloadUrl'/>', <%=getResourceBundle("box.image.width","75",jData)%>, <%=getResourceBundle("box.image.height","75",jData)%>, '<bean:write name='imageAlt' filter='true'/>', 'float-right' );
												//--><!]]></script>