Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

javascript:void(0); qui me pose problème !

10 réponses
Avatar
google
Bonjour,

j'ai un problème de chargement d'images sous IE6 dans un script.

Dans ma page, j'ai une image avec un ID.
Sur des liens, je change la source de l'image.
Le changement se fait sur l'événement onClick, et comme je ne redirige vers
nul part, j'ai mis href="javascript:void(0);"
et c'est là qu'est le problème !

les images se chargent 2 fois sur 3, parfois rien ne se passe sur le clic,
parfois l'image se charge à moitié !

où je suis paumé, c'est que avec a href="#" , les images se chargent bien !

help !



Voilà un bout de code qui pose problème (page entière *très* simplifiée) :

<HTML>

<HEAD>
</HEAD>

<BODY>


<img id='mon_image' src = 'images/1-02.jpg'></img>

<p>
<!-- Ces 3 liens fonctionnent mal -->
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src =
'images/1-02.jpg'"> change image </a>
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src =
'images/1-03.jpg'"> change image </a>
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src =
'images/1-13.jpg'"> change image </a>

</p>

<p>
<!-- Ces 3 liens fonctionnent correctement -->
<a href="#" onClick="javascript:document.getElementById('mon_image').src =
'images/1-02.jpg'"> change image </a>
<a href="#" onClick="javascript:document.getElementById('mon_image').src =
'images/1-03.jpg'"> change image </a>
<a href="#" onClick="javascript:document.getElementById('mon_image').src =
'images/1-13.jpg'"> change image </a>
</p>


</HTML>

10 réponses

Avatar
Cenekemoi
Bonjour,

j'ai un problème de chargement d'images sous IE6 dans un script.

Dans ma page, j'ai une image avec un ID.
Sur des liens, je change la source de l'image.
Le changement se fait sur l'événement onClick, et comme je ne
redirige vers nul part, j'ai mis href="javascript:void(0);"
et c'est là qu'est le problème !

les images se chargent 2 fois sur 3, parfois rien ne se passe sur le
clic, parfois l'image se charge à moitié !

où je suis paumé, c'est que avec a href="#" , les images se chargent
bien !

help !



Voilà un bout de code qui pose problème (page entière *très*
simplifiée) :

<HTML>

<HEAD>
</HEAD>

<BODY>


<img id='mon_image' src = 'images/1-02.jpg'></img>

<p>
<!-- Ces 3 liens fonctionnent mal -->
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-02.jpg'"> change image </a>
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-03.jpg'"> change image </a>
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-13.jpg'"> change image </a>

</p>

<p>
<!-- Ces 3 liens fonctionnent correctement -->
<a href="#"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-02.jpg'"> change image </a> <a href="#"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-03.jpg'"> change image </a> <a href="#"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-13.jpg'"> change image </a> </p>


</HTML>


Il faut (et il suffit) de rajouter ";return false;" dans tes "onclick",
ie:

<a href="#" onClick="javascript:document.getElementById('mon_image').src
='images/1-13.jpg';return false;"> change image </a>

Tu verras, ça marche très bien.
(le "return false" fait que le "href" ne s'exécute pas...)

--
Cordialement, Thierry ;-)

Avatar
Cenekemoi

Il faut (et il suffit) de rajouter ";return false;" dans tes
"onclick", ie:

<a href="#"
onClick="javascript:document.getElementById('mon_image').src
='images/1-13.jpg';return false;"> change image </a>
Tu verras, ça marche très bien.
(le "return false" fait que le "href" ne s'exécute pas...)


Au fait le "javascript:" ne sert à rien sur les événements, ie:

<a href="#"
onClick="document.getElementById('mon_image').src='images/1-13.jpg';return
false;"> change image </a>

--
Cordialement, Thierry ;-)

Avatar
Oxiane
Super !

ça marche impec avec return false !

mais comment interpréter le fait qu'annuler le "href" fasse que ça
fonctionne ???
du coup, j'ai laissé le "javascript:void(0);"

Ce qui est bizarre, c'est que cette anomalie n'était pas présente sur la
version initiale de mon site, dans laquelle les liens et l'images étaient
dans des Frames différents. C'est uniquement depuis que j'ai tout regroupé
dans une seule page avec des layers ("<div>") que le problème se pose.

En tout cas merci beaucoup ;-)

--

Oxiane


"Cenekemoi" a écrit dans le
message de news:416b813f$0$7199$

Il faut (et il suffit) de rajouter ";return false;" dans tes
"onclick", ie:

<a href="#"
onClick="javascript:document.getElementById('mon_image').src
='images/1-13.jpg';return false;"> change image </a>
Tu verras, ça marche très bien.
(le "return false" fait que le "href" ne s'exécute pas...)


Au fait le "javascript:" ne sert à rien sur les événements, ie:

<a href="#"
onClick="document.getElementById('mon_image').src='images/1-13.jpg';return
false;"> change image </a>

--
Cordialement, Thierry ;-)




Avatar
ASM

Ce qui est bizarre, c'est que cette anomalie n'était pas présente sur la
version initiale de mon site, dans laquelle les liens et l'images étaient
dans des Frames différents. C'est uniquement depuis que j'ai tout regroupé
dans une seule page avec des layers ("<div>") que le problème se pose.


sans doute que ça merdouillait aussi
mais ça se voyait pas.

ou alors tu mélanges un peu les notions ?

car il n'y pas de raison que le JS change d'habitudes
suivant que frames z'ou divs


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************

Avatar
Oxiane
non-non je ne mélange pas les notions.

pour reprendre ta terminologie, ça ne merdouille *pas du tout* avec les
frames. Les images s'affichent correctement (ou alors c'est un effet de
bord, ce qui n'excuse rien).

De toute façon, si le problème porte sur le void(0); , c'est bien qu'il y a
un problème qqpart.

Ce n'est pas le 1er problème de IE6 avec l'affichage des images, que je
sache !

Depuis le début, tout fonctionne correctement avec Mozilla.



--

"ASM" a écrit dans le message de
news:

Ce qui est bizarre, c'est que cette anomalie n'était pas présente sur la
version initiale de mon site, dans laquelle les liens et l'images
étaient


dans des Frames différents. C'est uniquement depuis que j'ai tout
regroupé


dans une seule page avec des layers ("<div>") que le problème se pose.


sans doute que ça merdouillait aussi
mais ça se voyait pas.

ou alors tu mélanges un peu les notions ?

car il n'y pas de raison que le JS change d'habitudes
suivant que frames z'ou divs


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************



Avatar
Cenekemoi
De toute façon, si le problème porte sur le void(0); , c'est bien
qu'il y a un problème qqpart.

Ce n'est pas le 1er problème de IE6 avec l'affichage des images, que
je sache !

Depuis le début, tout fonctionne correctement avec Mozilla.


Attention ! Sans vouloir défendre outre mesure IE dont je n'ai que
faire, il faut faire la part des choses.
Que le code tu avais fonctionne chez Mozilla et pas chez IE, n'implique
pas un problème chez IE mais plutôt chez Mozilla...car il y avait
plusieurs erreurs d'écriture dans ta page.
D'habitude, c'est plutôt IE qui a des tolérences que n'ont pas les
autres navigateurs !

--
Cordialement, Thierry ;-)

Avatar
Cenekemoi
Bonjour à Cenekemoi qui nous
(...)
D'habitude, c'est plutôt IE qui a des tolérences que n'ont pas les
autres navigateurs !


ouppss !

"D'habitude, c'est plutôt IE qui a des tolér*a*nces que n'ont pas les
autres navigateurs !"

désolé...

--
Cordialement, Thierry ;-)

Avatar
ASM

Voilà un bout de code qui pose problème (page entière *très* simplifiée) :

<img id='mon_image' src = 'images/1-02.jpg'></img>

<!-- lien qui fonctionne mal -->
<a href="javascript:void(0);"
onClick="javascript:document.getElementById('mon_image').src > 'images/1-03.jpg'"> change image </a>

<!-- lien fonctionne correctement -->
<a href="#" onClick="javascript:document.getElementById('mon_image').src > 'images/1-03.jpg'"> change image </a>


Donc plusieurs soluces
Mais pour toutes on met l'image à charger dans le href
ainsi, si pas de JS activé, on peut voir la photo

Pour le onclick, le javascript est le langage de script par
défaut des navigateurs, donc pas utile de le préciser.
(sauf cas exceptionnels)

-- 1 ---
<a href="images/1-03.jpg" onclick="if(document.getElementById)
document.getElementById('mon_image').src = this.href;
else
window.open(this.href);
return false;"> change image </a>

-- 2 ---
mettre dans le head :
<script type="text/javascript"><!--
function change(photo) {
if(document.getElementById)
document.getElementById('mon_image').src = photo;
else
window.open(photo);
}
// --></script>

puis dans le body
<a href="images/1-04.jpg" onclick="change(this.href);
return false;"> change image </a>


-- 3 --- ('mon_image' est la 1ière image de la page) ---

<html>
<script type="text/javascript"><!--
function init() {
affiche = (document.all)? document.all['mon_image']
: (document.getElementById)?
document.getElementById('mon_image')
: (document.images)?
document.images[0]
: false;
}
function changer(photo) {
if(affiche=úlse) window.open(photo);
else affiche.src = photo;
}
onload=init;
// --></script>
<img id="mon_image" src= "asm1.gif"'>
<p><a href="asm2.gif" onclick="changer(this.href); return false;">change 2</a>
<p><a href="asm3.gif" onclick="changer(this.href); return false;">change 3</a>
<p><a href="asm1.gif" onclick="changer(this.href); return false;">change 1</a>
</html>


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************

Avatar
ASM

non-non je ne mélange pas les notions.


Je n'en sais rien. Je nai pas vu l'ancien code employé.
Pour ce qui est du nouveau ... pas exempt d'erreurs.

Ce n'est pas le 1er problème de IE6 avec l'affichage des images, que je
sache !


IE est débile,tt le monde le sait
mais ...
je n'ai jamais eu de pb avec IE concernant les images
(sauf sa paresse à les charger si trop nombreuses)
(IE vieux Mac)


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************

Avatar
Oxiane
Mon code n'est pas exempt d'erreur, je le conçois (je connais mieux d'autres
languages). J'ajouterais que mes connaisances en JS ne sont pas exempts de
lacunes !

Je voulais simplement comprendre pourquoi la fait d'exécuter le void(0)
pouvait poser problème.

Quant au problème d'images, c'est assez courant de se retrouver avec 'la
petite croix rouge' à la place des images, comme si l'url était fausse. Il
suffit de faire 'Afficher l'image' par un clic droit pour que l'image
apparaisse. C'est semble-t'il complètement aléatoire.
Pas de mal de posts la dessus dans le groupe MS dédié à IE, avec des
solutions délirantes (associer tous les fichiers images à IE, ré-inscrire
des DLL, changer N clés de registre...)

Bon en tous cas, pas mal de solutions qui fonctionnent dans vos réponses,
merci encore.

oxiane

--

"ASM" a écrit dans le message de
news:

non-non je ne mélange pas les notions.


Je n'en sais rien. Je nai pas vu l'ancien code employé.
Pour ce qui est du nouveau ... pas exempt d'erreurs.

Ce n'est pas le 1er problème de IE6 avec l'affichage des images, que je
sache !


IE est débile,tt le monde le sait
mais ...
je n'ai jamais eu de pb avec IE concernant les images
(sauf sa paresse à les charger si trop nombreuses)
(IE vieux Mac)


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************