Page 1 sur 1

problème javascript sous firefox

Publié : 08 juil. 2005, 19:58
par arnauldb
Bonjour,

j'ai crée un petit site web www.arnauld.fr qui s'affiche bien dans IE mais pas dans Firefox.

Voici le problème :
-le menu appelle dans un iframe divers documents (images, php, pages web).
-cet iframe a une largeur fixe (ok) mais une longueur qui s'adapte automatiquement au contenu grâce à un javascript.

Le problème est là, sous Firefox ce javascript ne fonctionne pas donc la hauteur de l'iframe ne bouge pas.

Je voudrais résoudre ce problème.

Code : Tout sélectionner

<p>
    <script language="JavaScript">
function iFrameHeight() {
if(document.getElementById && !(document.all)) {
h = 
document.getElementById('iframename').contentDocument.body.scrollH
eight;
document.getElementById('iframename').style.height = h;
}
else if(document.all) {
h = document.frames('iframename').document.body.scrollHeight;
document.all.iframename.style.height = h;
}
}

    </script>
<iframe name="liens" onLoad="iFrameHeight();" src="intro.htm" scrolling="no" 
scroll="auto" id="iframename" marginwidth="0" marginheight="0" 
frameborder="0"  style="width:100%;" height=800></iframe>
</p>
merci de votre aide,

Arnauld

Publié : 08 juil. 2005, 20:48
par calimo
Outils > Console javascript :

Code : Tout sélectionner

Erreur : eight is not defined
Fichier Source : http://www.arnauld.fr/
Ligne : 82
Il faut dire que ton code contient ça :
if(document.getElementById && !(document.all)) {
h =
document.getElementById('iframename').contentDocument.body.scrollH
eight;
Alors bon, si tu rajoutes des retours à la ligne n'importe comment il ne faut pas t'étonner que ça ne marche pas.

D'un côté en voyant ça :

Code : Tout sélectionner

<meta name="generator" content="Namo WebEditor v6.0">
je me dis que ce n'est peut-être pas si étonnant... cet éditeur est particulièrement mauvais, je n'ai jamais vu une page faite avec lui qui fonctionne comme elle devrait sous autre chose qu'IE :x
À mon avis tu peux en changer tout de suite !

En plus elle n'est pas du tout valide XHTML 1.0 Strict, alors si c'est juste pour frimer que tu as un doctype XHTML 1.0 Strict, repasse tout de suite en HTML 4.01 transitionnel (la page ne sera toujours pas valide, mais ce sera moins pire) :roll:

Publié : 08 juil. 2005, 21:12
par Invité
Bon, je vois que je me fais agresser sans raisons !
Un forum c'est pour demander de l'aide non, pas pour se faire taper sur les doigts !

1) je suis novice, j'apprends sur le tas.

2) Je ne savais pas que Namo était un mauvais éditeur, donc j'apprends et j'en change. Que me conseilles-tu?

3)
Il faut dire que ton code contient ça :
Citation:
if(document.getElementById && !(document.all)) {
h =
document.getElementById('iframename').contentDocument.body.scrollH
eight;
Alors bon, si tu rajoutes des retours à la ligne n'importe comment il ne faut pas t'étonner que ça ne marche pas.
Si je fais des erreurs merci de me le dire et où et non pas m'engueuler car j'apprends.

4)
En plus elle n'est pas du tout valide XHTML 1.0 Strict, alors si c'est juste pour frimer que tu as un doctype XHTML 1.0 Strict, repasse tout de suite en HTML 4.01 transitionnel (la page ne sera toujours pas valide, mais ce sera moins pire) Roulement des yeux
Si tu as vu cela dans le code c'est tout simplement que j'ai pris un exemple sur un tutoriel et que je l'ai adapté à mon goût, frimer auprès de qui ? j'ai juste besoin d'un coup de main pour résoudre mon problème.

Je te rappelle que si je pose une question c'est pour demander de l'aide, alors la frime du code je la laisse aux autres.

Voilà, si tu veux me montrer mes erreurs tu le peux en m'aidant sinon tant pis j'attendrai une âme plus charitable .

Publié : 08 juil. 2005, 22:12
par calimo
Mais je ne t'agresse pas, ou alors ce n'était pas le but... j'aurais du mettre plus de smileys peut-être :wink: :oops:

Pour la réponse, je te l'ai donnée en mettant en gras le retour à la ligne qui pose problème. À y réfléchir, on peut même simplifier la fonction entière qui contient beaucoup de code déprécié et totalement inutile :

Code : Tout sélectionner

<script type="text/javascript">
function iFrameHeight() {
h = document.getElementById('iframename').contentDocument.body.scrollHeight;
document.getElementById('iframename').style.height = h;
}
</script>
:wink:

Je te conseille vivement de faire valider ton code. Faire des erreurs dans le code HTML, c'est l'assurance qu'il y aura des problèmes. Comme tu as l'air de découvrir à l'instant les standards, je te conseille un peu de lecture : http://openweb.eu.org/ en en particulier les articles Se mettre aux standards du web, Pourquoi les standards, Toi comprendre moi ? et celui-ci aussi :wink:

PS : je ne te propose pas d'éditeur, tu serais très probablement déçu par ma réponse. Par contre je te proposece tutoriel HTML, parce que je suis persuadé que les éditeurs WYSIWYG ne sont pas ce qu'il faut :P

Publié : 08 juil. 2005, 22:20
par Invité
merci de ta réponse, je vais faire tout ça et si je bloque je reviendrai :)

Quant aux éditeurs WYSIWYG pour moi au début et toujours maintenant c'était parfait car clair.
Quand jai commençé ce site je voulais juste faire un truc simple pour faire partager mon expérience de prof, je n'ai pas de prétentions de web designer.
Je voulais un truc qui marche, point bar.

Mais c'est vrai qu'en le construisant , eh bien on s'intéresse à ces choses là, donc je pense approfondir.

A+ peut-être et thks pour les liens !

Publié : 08 juil. 2005, 23:28
par Invité
ok, ça marche nickel maintenant! C'était effectivement ce retour à la ligne qui posait problème, j'aurais du le voir.

Merci en tout cas. :D

Publié : 09 juil. 2005, 14:28
par arnauldb
bon, j'ai un autre problème.
L'iframe se redimenssione bien automatiquement sous Firefox excepté pour le menu "gesture".

Je rappelle l'adresse du site www.arnauld.fr

Pourquoi ?

Merci.

Publié : 09 juil. 2005, 15:31
par calimo
Mouais, je sais pas trop... mais si tu veux mon avis, ce n'est pas la meilleure solution (les frames, bof bof... et puis appliquer des styles en javascript, c'est pas vraiment fait pour.)

PS : il n'y a que chez moi que Firefox a tendance à crasher sur ce site ?