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 :

Vérifier si une image existe [Fait]


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Points : 121
    Points
    121
    Par défaut Vérifier si une image existe
    Bonjour,

    Voilà, j'ai un logo que j'aimerais imprimer avec les documents que je sort de mon site. Ce logo est au format jpg mais j'aimerais effectuer le test pour voir si je possède bien ce fichier à l'emplacement spécifié. Si ce n'est pas le cas, j'affiche un message. Comment pourrais-je faire cela avec du javascript?

    Merci

    Michaël

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Tu ne peux pas, mais tu peux te servir d'un timeout (de par exemple 3 secondes) au delà duquel tu affiches un message d'erreur si l'évenement onload de l'image n'a pas été invoqué.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    tu peux utiliser XmlHttpRequest pour le faire et faire un test sur responseCode. Si tu obtiens un nombre entre 200 et 299, c'est bon. Sinon, c'est pas bon.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par dingoth Voir le message
    tu peux utiliser XmlHttpRequest pour le faire et faire un test sur responseCode. Si tu obtiens un nombre entre 200 et 299, c'est bon. Sinon, c'est pas bon.
    Je ne connait pas cela. Tu saurait me mettre un exemple de code STP? Cela serait vraiment sympa.

    Merci

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Ou beaucoup plus simple ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function checkImg(){
    	var tester=new Image()
    	tester.onload=function() {alert('Image chargée')}
    	tester.onerror=function() {alert('L\'image n\'existe pas')}
    	tester.src="http://www.temp.com/image.jpg";
    	tester.src="http://www.paris-360.com/admin/upload/tuilerie_neige hd.jpg";
    }
    tu remplace la fonction avec l'alert par ce que tu veux et l'url de l'image est valide tu peux faire un test

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    onerror n'est pas DOM.
    Passer par de l'xmlrequest n'est pas optimal.

    bon, je m'y colle ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script language="javascript" type="text/javascript">
    <!--
    logo = false;
     
    function logoLoaded() {
    	logo = true;
    }
     
    function loaded() {
    	if (!logo) alert ("le logo est introuvable.");
    }
    -->
    </script>
    avec onLoad="loaded();" pour ta balise body et onload="logoLoaded();" pour ta balise img (ton logo).

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    Ou beaucoup plus simple ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function checkImg(){
    	var tester=new Image()
    	tester.onload=function() {alert('Image chargée')}
    	tester.onerror=function() {alert('L\'image n\'existe pas')}
    	tester.src="http://www.temp.com/image.jpg";
    	tester.src="http://www.paris-360.com/admin/upload/tuilerie_neige hd.jpg";
    }
    tu remplace la fonction avec l'alert par ce que tu veux et l'url de l'image est valide tu peux faire un test
    Ta solution a l'air de donner quelque chose en effet. Je vais améliorer cela...

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    onerror n'est pas DOM.
    Passer par de l'xmlrequest n'est pas optimal.

    bon, je m'y colle ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script language="javascript" type="text/javascript">
    <!--
    logo = false;
     
    function logoLoaded() {
    	logo = true;
    }
     
    function loaded() {
    	if (!logo) alert ("le logo est introuvable.");
    }
    -->
    </script>
    avec onLoad="loaded();" pour ta balise body et onload="logoLoaded();" pour ta balise img (ton logo).
    Je vais essayer cette solution la aussi.

    Merci

  9. #9
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835

  10. #10
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2005
    Messages : 217
    Points : 121
    Points
    121
    Par défaut
    Cela veut dire quoi cela?

    onError n'est pas DOM???

  11. #11
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ca veut dire qu'il y a de fortes chances que ce ne soit pas reconnus par tous les navigateurs car ce n'est pas dans la spécification officiel du W3C sans parler du fait que son fonctionnement n'est pas forcément bien clair.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/04/2014, 11h50
  2. [XL-2010] Comment vérifier en vba si une image existe
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2011, 13h49
  3. Vérifier si une image existe
    Par kevinf dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2007, 11h21
  4. Vérifier si une image distante existe
    Par fab4am dans le forum Langage
    Réponses: 26
    Dernier message: 02/01/2007, 17h10
  5. Oracle 9i : Vérifier qu'une ligne existe
    Par Fatah93 dans le forum Oracle
    Réponses: 4
    Dernier message: 14/06/2005, 12h27

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