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 est valide


Sujet :

JavaScript

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 213
    Points : 103
    Points
    103
    Par défaut Vérifier si une image est valide
    Bonjour,
    J'aimerai savoir comment vérifier si une image est correctement chargée. En effet j'ai cette portion de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (localStorage.getItem('wallpaper')) {
    	document.body.style.backgroundImage = localStorage.getItem('wallpaper');
    }
    Dans certains cas, localStorage.getItem('wallpaper') renvoi vers un fichier inexistant et le font d'écran ne s'affiche pas. Je voudrais, ce cas de figure, détecter cette erreur et afficher une image par défaut.

    Merci d'avance

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    charge l'image dans un conteneur non visible et place un écouteur onerror sur ton image.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Août 2006
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 213
    Points : 103
    Points
    103
    Par défaut
    Merci beaucoup, cela fonctionne parfaitement.

    J'ai donc ajouté cela coté html :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="backgroundTest" onerror="loadDefautBackground()" hidden/>
    Et du coté javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function loadPrefs(){
    	if (localStorage.getItem('wallpaper')){
    		var str = localStorage.getItem('wallpaper');
    		document.body.style.backgroundImage = localStorage.getItem('wallpaper');
    		document.getElementById("backgroundTest").src = str.substr(5,str.length-7); //Pour un .src, il faut enlever le "url(...)"
    	}
    }
     
    function loadDefautBackground(){
    	console.log("erreur de chargement du fond d'ecran");
    	document.body.style.backgroundImage = "url('medias/divers/defautBackground.jpg')";
     }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier qu'une date est valide
    Par delph_le dans le forum SAS Base
    Réponses: 2
    Dernier message: 17/04/2014, 14h54
  2. MSVCP60.dll n'est pas une image Windows valide
    Par MrDuChnok dans le forum Windows XP
    Réponses: 4
    Dernier message: 07/05/2011, 14h41
  3. [RegEx] Vérifier si une url est valide
    Par paradeofphp dans le forum Langage
    Réponses: 4
    Dernier message: 16/03/2011, 18h11
  4. Vérifier si une date est valide ou non
    Par Juju54350 dans le forum C#
    Réponses: 2
    Dernier message: 21/09/2010, 14h20
  5. Tester si l'extension d'une image est valide
    Par snyfir dans le forum Langage
    Réponses: 5
    Dernier message: 03/08/2008, 19h32

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