Bug dans un onclick
Le
Stéphane Gauthier
Salut à tous!
Je suis confronté à un bug très bizarre dans Javascript. J'ai constat=
é que le bug est bel et bien dans le code car il se produit sur les 3 fur=
eteurs testés (MSIE, Firefox, Chrome).
Voici le bug en question
L'adresse de la page :
http://www.photographegauthier.com/mariage.html
Le bug se trouve à la ligne 61. La commande "document.body.clientHeight" =
dans le onclick du lien retourne la valeur 0 plutôt que la hauteur de l'=
écran.
Voici la commande qui ne fonctionne pas:
<a href="galerie.php?g=image_mariage&n=Mariage&e=0&t=mariage" tit=
le="Portfolio mariage" onclick="this.href += '&w=' + document.body.=
clientWidth + '&h=' + document.body.clientHeight"><h1 class="barre">Por=
tfolio mariage</h1></a>
Pourtant, la même commande se trouve aussi sur la page index.html aux lig=
nes 91, 93, 95 et 97 et tout s'exécute correctement:
http://www.photographegauthier.com/index.html
Je sais que le bug ne se trouve pas dans la ligne 61 de mariage.html. Pour =
arriver à cette conclusion, j'ai copié intégralement la ligne 91 de i=
ndex.html dans mariage.html. Cette fois-ci, la valeur "0" était retourn=
ée. Le problème se trouve donc ailleurs dans la page.
Si quelqu'un avait une idée de ce qui ne va pas, ce serait fort appréci=
é!
Je suis confronté à un bug très bizarre dans Javascript. J'ai constat=
é que le bug est bel et bien dans le code car il se produit sur les 3 fur=
eteurs testés (MSIE, Firefox, Chrome).
Voici le bug en question
L'adresse de la page :
http://www.photographegauthier.com/mariage.html
Le bug se trouve à la ligne 61. La commande "document.body.clientHeight" =
dans le onclick du lien retourne la valeur 0 plutôt que la hauteur de l'=
écran.
Voici la commande qui ne fonctionne pas:
<a href="galerie.php?g=image_mariage&n=Mariage&e=0&t=mariage" tit=
le="Portfolio mariage" onclick="this.href += '&w=' + document.body.=
clientWidth + '&h=' + document.body.clientHeight"><h1 class="barre">Por=
tfolio mariage</h1></a>
Pourtant, la même commande se trouve aussi sur la page index.html aux lig=
nes 91, 93, 95 et 97 et tout s'exécute correctement:
http://www.photographegauthier.com/index.html
Je sais que le bug ne se trouve pas dans la ligne 61 de mariage.html. Pour =
arriver à cette conclusion, j'ai copié intégralement la ligne 91 de i=
ndex.html dans mariage.html. Cette fois-ci, la valeur "0" était retourn=
ée. Le problème se trouve donc ailleurs dans la page.
Si quelqu'un avait une idée de ce qui ne va pas, ce serait fort appréci=
é!

Poser une question


Il y a déjà des erreurs de HTML, avant d'aller voir ce qui se passe
dans le JavaScript :
1) Tous les « &n », « &e », « &t », « &w » et « &h » devraient être
réécrits « &n », « &e », etc.
2) Tu as mis un élément de type bloc (le titre h1) dans un élément
n'acceptant que de l'inline (le lien a).
Je te suggère de passer ton document par un validateur et de corriger
toutes les erreurs avant d'aller plus loin. Si ça se trouve, le bug
se résoudra de lui-même. Cf. par exemple
En effet, ça semble tout à fait similaire.
Je parie pour l'une des erreurs HTML précédant la ligne 61, qui
désorienterait plus le JavaScript dans mariage.html que dans
index.html.
Cordialement,
--
Olivier Miakinen
ma balise h1 peut sembler bizarre mais la css la change en inline, ce
qui ne devrait pas poser de problème. De plus, dans la page qui
fonctionne, j'ai aussi des h1 définis en inline. Ce n'est donc pas ça
le problème.
Bonsoir,
Problème de DOCTYPE.
A la place de document.body, utlise document.documentElement
Matt...
--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/
Yess! Ça marche!
Merci Matt!