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=
é!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #24189951
Le 23/01/2012 17:09, Stéphane Gauthier a écrit :

[...]

Voici la commande qui ne fonctionne pas:



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 « &amp;n », « &amp;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
Pourtant, la même commande se trouve aussi sur la page index.html
aux lignes 91, 93, 95 et 97 et tout s'exécute correctement:
http://www.photographegauthier.com/index.html



En effet, ça semble tout à fait similaire.

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 index.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 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
Stéphane Gauthier
Le #24189981
Je viens de changer pour des &amp; mais ça ne change rien. Je sais que
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.
Matt...
Le #24190241
Le Mon, 23 Jan 2012 17:09:25 +0100, Stéphane Gauthier a écrit:

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
fureteurs 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.client Height"
dans le onclick du lien retourne la valeur 0 plutôt que la hauteu r de
l'écran.

Voici la commande qui ne fonctionne pas:
<a href="galerie.php?g=image_mariage&n=Mariage&e=0&t=mariage "
title="Portfolio mariage" onclick="this.href += '&w=' +
document.body.clientWidth + '&h=' + document.body.clientHeight"><h1
class="barre">Portfolio mariage</h1></a>

Pourtant, la même commande se trouve aussi sur la page index.html aux
lignes 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égraleme nt la ligne 91 de
index.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 a pprécié!



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/
Stéphane Gauthier
Le #24191121
Problème de DOCTYPE.

A la place de document.body, utlise document.documentElement

Matt...



Yess! Ça marche!

Merci Matt!
Publicité
Poster une réponse
Anonyme