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 :

getAsDataURL et cross-navigateur


Sujet :

JavaScript

  1. #1
    Membre habitué
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Par défaut getAsDataURL et cross-navigateur
    Bonjour a tous,

    je cherche une solution pour rafraichir une img src a partir d un imput="file"

    Sous FF je passe par un getAsDataURL et cela fonctionne sans problème.
    Auriez vous une solution de rafraichissement automatique de l image associée a un imput="file" pour les autres navigateurs ?

    Merci d avance pour vos lumières.

  2. #2
    Invité
    Invité(e)
    Par défaut
    si il sagit d'une image a la fois il faut faire comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function chacharge(){
     
    	var fichier = document.getElementById('mon_input').files;
     
     
    	var charge=new FileReader();
    	charge.readAsDataURL(fichier[0]);
    	charge.onloadend = function(e){
     
    		document.getElementById('mon_image').src = e.target.result;
     
    	}
    }
    dans l'exemple le input a pour id "mon_input" et la balise img 'mon_image

  3. #3
    Membre habitué
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Par défaut
    Merci mekal pour ta reponse,

    Je viens de tester sous FF --> OK
    sous IE / SAFARI / SE / --> Pas de MAJ du img src ?!

    Ai je oublié qq chose ?

    Merci d avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    le probleme c'est que ces specifications son recentes et pas ou partielement implementé sur les navigateur

    ce que j'ai mis fonctionne completement sur ff opera et chrome faire attention avec chrome car sa ne fonctionne pas en local il faut tester en ligne pour safarie a ma connaissance sa fonctionne partiellement mais il n'affiche pas d'image et enfin pour IE peut etre en 2020

  5. #5
    Membre habitué
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Par défaut
    Autrement j ai cette fonction qui fonctionne pour FF IE mais pas pour Safari et les browser mobile (SE, Samsung...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <script type="text/javascript" language="javascript"> 
     
    document.getElementById('photo').onchange = function() { 
     var filename = document.getElementById('photo').value; 
     var Img = new Image(); 
     
     if (navigator.appName == 'Netscape') { 
      document.getElementById('wMedia').src = document.getElementById('photo').files[0].getAsDataURL();
     } 
     else { 
      Img.src = filename; 
      document.getElementById('wMedia').src = Img.src;  
     } 
    } 
    </script>
    Si tu as des idées je suis preneur...

    Merci d avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    sa marche pour ie car ie recuper le chemin de l'image par value ce que ne font pas les autres navigateurs pour une question de securite

    avec le support ie sa donne ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function chacharge(){
     
    	if(document.all) {
    var filename = document.getElementById('mon_input').value;
    var Img = new Image();
    Img.src = filename;
    document.getElementById('mon_image').src = Img.src; 
    }
    else{
    	var fichier = document.getElementById('mon_input').files;
     
    	var charge=new FileReader();
    	charge.readAsDataURL(fichier[0]);
    	charge.onload = function(e){
     
    		document.getElementById('mon_image').src = e.target.result;
    		}
    		}
    	}

  7. #7
    Membre habitué
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Par défaut
    Desolé, mais cela ne fonctionne toujours pas en cross-browser.

    quelqu un aurai une idee pour rendre ce code compatible cross-browser ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <script type="text/javascript" language="javascript"> 
     
    document.getElementById('photo').onchange = function() { 
     var filename = document.getElementById('photo').value; 
     var Img = new Image(); 
     
     if (navigator.appName == 'Netscape') { 
      document.getElementById('wMedia').src = document.getElementById('photo').files[0].getAsDataURL();
     } 
     else { 
      Img.src = filename; 
      document.getElementById('wMedia').src = Img.src;  
     } 
    } 
    </script>
    merci d avance

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/05/2004, 18h39
  2. API pour changer le proxy du navigateur
    Par SteelBox dans le forum Windows
    Réponses: 2
    Dernier message: 16/02/2004, 23h15
  3. Réponses: 2
    Dernier message: 21/07/2003, 12h22

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