Pb compatibilite JS entre IE et firefox

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Eric1981
Arias
Messages : 2
Inscription : 15 avr. 2005, 17:00

Pb compatibilite JS entre IE et firefox

Message par Eric1981 »

Bonjour,

Bon j'ai besoin d'un preview pour le chargement d'image par http, j'ai pensé faire un js.

celui marche bien sur IE mais pas sur firefox, si quelqu'un a une idée je suis preneur :

voila le code :

Code : Tout sélectionner

<form>
<input type="file" name="fic" onChange="img.src=this.value">
</form>
<img src="transp.gif" id="img">

et un lien pour vous montrer ccomment ca marche (prenez un fichier gif ou jpeg qui est sur votre dd).
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bizarre, il n'y a rien du tout d'affiché dans la console javascript :shock:

Plusieurs possibilités (et probablement une conjugaison de tout ça et peut-être d'encore autre chose)
  1. Firefox ne permet pas d'utiliser des fichiers locaux dans une page distante pour d'évidentes raisons de sécurité. Mais je ne comprend pas pouquoi il n'y a pas d'avertissement...
  2. onChange="img.src=this.value" ça veut rien dire. Quelle image ? Comment peut-il le deviner ? Tu dois commencer par faire un document.getElementById pour que ça marche.

    Code : Tout sélectionner

    onChange="document.getElementById['img'].src=this.value"
    devrait avoir plus de succès. Là encore je ne comprend pas pourquoi il n'y a pas d'erreur... :roll:
Bref, si ça marche dans IE c'est qu'il est pas très regardant et qu'il accepte de faire un peu n'importe quoi. Ce n'est pas une référence :?
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Tu n'as pas le droit de charger un objet figurant sur ton disque dur depuis une page Web. Sinon imagine qu'au lieu d'une image tu aies mis le fichier de mots de passe de <programme de ton choix>, hop tu peux y accéder via le DOM.

En gros, il faut d'abord faire l'upload et puis tu fais ce que tu veux avec, mais pas avant :)
Eric1981
Arias
Messages : 2
Inscription : 15 avr. 2005, 17:00

Message par Eric1981 »

Benoit a écrit :Tu n'as pas le droit de charger un objet figurant sur ton disque dur depuis une page Web. Sinon imagine qu'au lieu d'une image tu aies mis le fichier de mots de passe de <programme de ton choix>, hop tu peux y accéder via le DOM.

En gros, il faut d'abord faire l'upload et puis tu fais ce que tu veux avec, mais pas avant :)
C'est ce que je voulais eviter, mais bon tant pis. :cry:
calimo a écrit : Bref, si ça marche dans IE c'est qu'il est pas très regardant et qu'il accepte de faire un peu n'importe quoi. Ce n'est pas une référence :?
ca je l'aprend un peu plus tous les jours :wink:

Dans tous les cas merci pour vos réponses rapides, je vous tiens au courant si jamais (par miracle) je trouve une solution
netfab
Salamandre
Messages : 43
Inscription : 06 mars 2005, 13:37

Message par netfab »

Bonsoir,

La solution est simple : avec Firefox, il faut être précis.

Code : Tout sélectionner

onChange="document.getElementById['img'].src='file://'+this.value"
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Mais ça ne marchera quand-même pas vu ce qui a été dit plus haut :wink:
netfab
Salamandre
Messages : 43
Inscription : 06 mars 2005, 13:37

Message par netfab »

ah tiens, oui. çà marche en local, mais pas sur le net.
Je n'avais jamais fait attention :
Erreur de sécurité : le contenu situé à http://www.adresse.com/image/image.htm ne peut pas charger de données ou établir un lien vers file:///home/netfab/Images/nvidiaicon.png.
Il n'empêche que pour que çà fonctionne en local avec FF, il faut rajouter le protocole file:// en js.

Désolé pour le faux espoir :wink:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités