Je suis allé récupérer un script javascript de redimensionnement de photos à la volée que j'ai adapté à mes besoins:
function redimImage(inImg)
{
//CREDIT
//http://www.asp-php.net/scripts/scripting/jsimgredim.php
//Aurelien (tutorial)
// Cette function recoit 3 parametres
// inImg : Chemin relatif de l'image
// inMW : Largeur maximale
// inMH : Hauteur maximale
var maxWidth = 1000;
var maxHeight = 100;
// Declarations des variables "Nouvelle Taille"
var dW = 0;
var dH = 0;
// Declaration d'un objet Image
var oImg = new Image();
// Affectation du chemin de l'image a l'objet
oImg.src = inImg;
// On recupere les tailles reelles
var h = dH = oImg.height;
var w = dW = 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;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else {
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
} else if ((h > maxHeight) && (w < maxWidth)) {
dH = maxHeight;
// On recalcule la taille proportionnellement
dW = parseInt((w * dH) / h, 10);
} else if ((h < maxHeight) && (w > maxWidth)) {
dW = maxWidth;
// On recalcule la taille proportionnellement
dH = parseInt((h * dW) / w, 10);
}
}
// On ecrit l'image dans le document
document.write("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" border=\"0\">");
//document.innerHTML("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" border=\"0\">");
//oImg.height=dH;
//oImg.width=dW;
//alert("<img src=\"" + inImg + "\" width=\"" + dW + "\" height=\"" + dH + "\" border=\"0\">");
};
Le script marche mais que sous certaines conditions. Je ne peux pas le faire marcher en suivant un lien. En revanche quand je rentre l'url de la page dans la barre d'adresse de mon navigateur (Google Chrome) et que j'appuie sur entrer, tout se passe bien.
Pire encore: l'alert à l'avant dernière ligne de mon code javacript, se lance dans tous les cas (lorsqu'il est decommentarisé bien sur), que je suive le lien ou que je passe dans la barre d'adresse.
Je ne comprend pas bien ce qu'il se passe. J'imagine que ça doit venir du writeln mais je n'arrive pas à trouver d'autres solutions...
Ta réponse ne m'aide pas franchement et fais plutôt perdre du temps. Si tu vois le problème, dis le moi. Mais je crois que tu as lu le code un peu vite et que tu crois que j'ai commentarisé une ligne de code qui ne l'est en fait pas.
Vrai ou faux?