IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Image non retrouvée sous Internet Explorer


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut Image non retrouvée sous Internet Explorer
    Bonjour,

    je suis chargé d'afficher plusieurs images provenant d'une base de données, donc rapatriées dynamiquement (en fonction d'une recherche).
    Voulant afficher des vignettes, je les redimensionne avec javascript. Je leur donne donc un identifiant, qui est leur id dans la base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<img src=\"".IMAGE_HOST."/Vignettes/".$photo["id_photo"].".jpg\" id=\"".$photo["id_photo"]."\" />";
    Ensuite, dans ma fonction javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function vignette(idV) {
        var echelle = 80;
        var largeur = document.getElementById(idV).width;
        var hauteur = document.getElementById(idV).height;
        var rapport = (largeur > hauteur) ? echelle/largeur : echelle/hauteur;
        if(largeur > hauteur) {
            document.getElementById(idV).width = echelle;
            document.getElementById(idV).height = hauteur*rapport;
        } else {
            document.getElementById(idV).height = echelle;
            document.getElementById(idV).width = largeur*rapport;
        }
    }
    Ce code marche correctement sous Firefox, mais sous Internet Explorer, il n'affiche rien ! J'ai essayé d'afficher les dimension initiales de l'image sous IE, et il affiche "0" et "0"...Autant dire que je suis particulièrement déboussolé, surtout que j'ai une autre page de manipulation d'image qui fonctionne très bien sous IE avec un id...

    En bref, je suis dans le jus, ça m'a l'air tout bête, mais je ne sais pas du tout comment arranger ça...je n'ai rien trouvé en effectuant des recherches sur internet ou sur le forum...

    Merci !

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    et en ajoutant l'unité ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById(idV).width = echelle + 'px';
    document.getElementById(idV).height = (hauteur*rapport) + 'px';
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Désolé, quand je rajoute les unités des dimensions, ça ne fonctionne plus, ni sur Firefox, ni sur IE (c'est-à-dire : rien ne s'affiche).

    Merci quand même, je n'y avais pas pensé...

    EDIT :

    Je viens de trouver une solution qui fonctionne sur les deux navigateurs :

    dans mon cas, puisque je souhaite redimensionner l'image en fonction de sa hauteur ou de sa largeur (suivant la forme de cette image), je fixe la hauteur (resp. la largeur) à une valeur fixée (var echelle), puis la largeur (resp. la hauteur) en fonction d'un rapport de dimensions.

    La solution consiste à seulement fixer la hauteur (resp. la largeur) à la valeur fixée echelle. Le reste s'ajuste automatiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function vignette(idV) {
    	var echelle = 80;
    	var largeur = document.getElementById(idV).width;
    	var hauteur = document.getElementById(idV).height;
    	//var rapport = (largeur > hauteur) ? echelle/largeur : echelle/hauteur;
    	if(largeur > hauteur) {
    		document.getElementById(idV).width = echelle;
    		//document.getElementById(idV).height = hauteur*rapport + 'px';
    	} else {
    		document.getElementById(idV).height = echelle;
    		//document.getElementById(idV).width = largeur*rapport + 'px';
    	}
    }
    Malheureusement, certains affichages d'images ne se font pas correctement (à peu de choses près), c'est-à-dire que les dimensions d'arrivée ne sont pas exactement proportionnelles à celles de départ...Je me satisferai de ça pour le moment, mais je suis curieux de comprendre ce phénomène. Si quelqu'un a une explication, je suis intéressé !

    Merci.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Arf !
    .style.width
    .style.height



    A+

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Avec style.width et style.height, j'obtiens le même résultat que la solution que j'ai citée avant, sur Internet Explorer. Sur Firefox, les images ne sont pas redimensionnées...merci tout de même !

    A plus

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par BeatGrinder Voir le message
    Avec style.width et style.height, j'obtiens le même résultat que la solution que j'ai citée avant, sur Internet Explorer.
    Il n'empêche qu'il s'agit d'attributs de style ....
    Ca devrait mieux fonctionner avec la syntaxe prévue pour les objets "images" ...

    A+

Discussions similaires

  1. Transparence des images PNG sous Internet Explorer
    Par Torpedox dans le forum Webdesign & Ergonomie
    Réponses: 12
    Dernier message: 14/10/2008, 23h41
  2. probléme d affichage d image sous internet explorer
    Par sebairo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/09/2008, 14h30
  3. Problème de calque transparent sous internet explorer
    Par Fred333.ver dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/12/2005, 11h40
  4. pb de rollover sous internet explorer
    Par gofono_bass dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/12/2005, 07h05
  5. Texte qui disparait sous internet explorer.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 14/08/2005, 02h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo