Je suis confront=E9 =E0 un bug tr=E8s bizarre dans Javascript. J'ai constat=
=E9 que le bug est bel et bien dans le code car il se produit sur les 3 fur=
eteurs test=E9s (MSIE, Firefox, Chrome).
Voici le bug en question...
L'adresse de la page :
http://www.photographegauthier.com/mariage.html
Le bug se trouve =E0 la ligne 61. La commande "document.body.clientHeight" =
dans le onclick du lien retourne la valeur 0 plut=F4t que la hauteur de l'=
=E9cran.
Voici la commande qui ne fonctionne pas:
<a href=3D"galerie.php?g=3Dimage_mariage&n=3DMariage&e=3D0&t=3Dmariage" tit=
le=3D"Portfolio mariage" onclick=3D"this.href +=3D '&w=3D' + document.body.=
clientWidth + '&h=3D' + document.body.clientHeight"><h1 class=3D"barre">Por=
tfolio mariage</h1></a>
Pourtant, la m=EAme commande se trouve aussi sur la page index.html aux lig=
nes 91, 93, 95 et 97 et tout s'ex=E9cute 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 =E0 cette conclusion, j'ai copi=E9 int=E9gralement la ligne 91 de i=
ndex.html dans mariage.html. Cette fois-ci, la valeur "0" =E9tait retourn=
=E9e. Le probl=E8me se trouve donc ailleurs dans la page.
Si quelqu'un avait une id=E9e de ce qui ne va pas, ce serait fort appr=E9ci=
=E9!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Le 23/01/2012 17:09, Stéphane Gauthier a écrit :
[...]
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>
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 <http://validator.w3.org/>.
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
Le 23/01/2012 17:09, Stéphane Gauthier a écrit :
[...]
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>
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 <http://validator.w3.org/>.
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.
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>
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 <http://validator.w3.org/>.
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
Je viens de changer pour des & 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.
Je viens de changer pour des & 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.
Je viens de changer pour des & 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.