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 :

Problème d'utilisation des attributs width et height avec une image distante


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 17
    Points : 9
    Points
    9
    Par défaut Problème d'utilisation des attributs width et height avec une image distante
    Bonjour,

    Voilà mon problème, je cherche à détecter si une image est présente sur un serveur distant, à partir de son adresse. J'utilise pour ça les attributs width et height (peut-être avez-vous un autre moyen ?) qui renvoient tous les deux 0 lorsque l'image n'est pas présente.

    Un exemple parlera plus qu'un long discours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    image = new Image;
    image.src = "http://www.serveur.com/adresse/image.jpg";
    if (image.width == 0 && image.height == 0) {
        alert("Image non présente");
    }else{
        alert("Image présente");
    }
    Le problème c'est que lorsque l'image existe bel et bien, parfois ça fonctionne, parfois non ! Autrement dis (j'ai vérifié en posant des "alert" un peu partout) des fois les attributs me renvoient les bonnes dimensions et des fois ils me renvoient tous les deux zéros ! Je ne comprends pas ce comportement plus qu'étrange .

    Auriez-vous une solution à me proposer pour détecter la présence d'une image de façon fiable ?

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Ptit_Mouss
    Voilà mon problème, je cherche à détecter si une image est présente sur un serveur distant, à partir de son adresse. J'utilise pour ça les attributs width et height (peut-être avez-vous un autre moyen ?) qui renvoient tous les deux 0 lorsque l'image n'est pas présente.
    http://javascript.developpez.com/faq...s.remplacement
    Utilise l'attribut complete de l'image, pour savoir si l'image est chargée ou non (normalement, cet attribut sert explicitement à ça).

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    J'ai tenté de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    image = new Image;
    image.src = "http://www.serveur.com/adresse/image.jpeg";
    if (image.complete) alert("Image existante");
    else alert("Image inexistante");
    Et j'ai toujours le même problème parfois ça fontionne parfois non ! Serait-il possible que javascript, s'il ne reçoit pas suffisamment vite de réponse de la part du serveur distant, considère que l'image n'existe pas ? Ce qui expliquerait le caractère aléatoire des bonnes réponses de mon script ?

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Ptit_Mouss
    Et j'ai toujours le même problème parfois ça fontionne parfois non ! Serait-il possible que javascript, s'il ne reçoit pas suffisamment vite de réponse de la part du serveur distant, considère que l'image n'existe pas ? Ce qui expliquerait le caractère aléatoire des bonnes réponses de mon script ?
    Oui, ça c'est bien possible.

    Je te conseille de charger tes images, et d'attendre un certain (avec un setTimeout) avant de vérifier si elles sont correctement chargées....

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 17
    Points : 9
    Points
    9
    Par défaut
    Arf

    Les images que je teste sont des images plutôt lourdes et je peux pas me permettre de les charger sur ma page, j'ai remarqué qu'en bouclant avec le test c'est toujours le premier qui est faux et par la suite ça fonctionne à chaque fois, je vais essayer de faire 5 tests sur les dimensions de la même image avant de considérer qu'elle est bien inexistante. Ca devrait régler le problème.

    Merci pour ton aide !

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/03/2011, 11h59
  2. [xslt][xpath]Utilisation des attributs XML
    Par Little_flower dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/05/2007, 12h42
  3. Réponses: 1
    Dernier message: 07/05/2007, 16h12
  4. Problème d'utilisation des files
    Par AraBorLeg dans le forum C
    Réponses: 4
    Dernier message: 06/01/2007, 20h55
  5. Réponses: 1
    Dernier message: 24/11/2006, 16h36

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