Page 1 sur 1

[Résolu] Problème Firefox et balises <script>

Publié : 01 août 2007, 15:24
par MarkH
Bonjour,

je constate le comportement étrange suivant avec FireFox (2.0.0.6 Ubuntu/Feisty):

Si une section <head> inclut des scripts déclarés à l'aide de balises du type :

<script type="text/javascript" src="monscript.js"/>

Et que plus loin dans le <body> de la même page, j'ai une balise script contenant directement du code Javascript, comme :

<script type="text/javascript">
/** Code JS **/
</script>

Firefox interpête tout le bloc situé après la première inclusion du code javascript, et la balise fermante </script> du code inclus dans la page comme étant le code Javascript.

L'ensemble de ce bloc n'est donc plus rendu dans le navigateur, et je vous laisse imaginer le résultat...

Précision supplémentaire : si dans le <head>, j'écris l'inclusion du javascript sous la forme :

<script type="text/javascript" src="monscript.js"></script>

(donc balise ouvrante *ET* fermante) le comportement aberrant disparaît.
Malheureusement, le code HTML que je produis et filtré à la volée et transformé de telle manière qu'il m'est impossible d'adopter la deuxième écriture.

Si quelqu'un a une idée sur le pourquoi du comment (et, éventuellement une solution) je suis preneur.

Merci d'avance pour tout éclaircissement.

MarkH





Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)

Publié : 01 août 2007, 17:07
par jpj
Bonjour,

Est-ce sur un site en particulier ou sur ton site. Dans ce dernier cas, je déplace dans "Développement web". Ce sera plus adapté.

A+

Publié : 01 août 2007, 17:50
par Invité
J'ai constaté le problème en développant un site Web, mais je peux facilement le reproduire uniquement en chargeant des fichiers locaux. Il ne s'agit donc pas d'un dysfonctionnement lié à un site particulier, mais à une structuration spécifique du code HTML.

Que cela ne t'empêche pas de déplacer ma question dans Développement Web si cela semble plus approprié.

MarkH

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)

Publié : 01 août 2007, 18:01
par jpj
Effectivement, je déplace dans "Développement web", ce sera plus adapté.

Publié : 01 août 2007, 18:01
par Asumbaa
Salut,

La balise script n'est pas autofermante, il faut donc bien écrire

Code : Tout sélectionner

<script type="text/javascript" src="monscript.js"></script> 

Publié : 01 août 2007, 18:53
par calimo
Asumbaa a écrit :Salut,

La balise script n'est pas autofermante, il faut donc bien écrire

Code : Tout sélectionner

<script type="text/javascript" src="monscript.js"></script> 
En effet, à moins que l'on ne déclare correctement le fichier comme étant du XHTML (je doute que ce soit le cas), et que la page soit donc traitée par l'analyseur XML.

De plus, si la page est déclarée en HTML dans les entêtes HTTP, il faut un espace avant le "/" final conformément aux recommandations de l'annexe C de la recommandation XHTML 1.0.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firegecko Firefox/2.0.0.6 (Ubuntu-feisty)

Publié : 02 août 2007, 09:00
par MarkH
Merci pour toutes vos réponses.

Pour information : le filtre de réécriture du HTML ( à partir de JSP) est SiteMesh. Je vais donc m'empresser d'enquêter de ce côté pour tenter de connaître ses motivations pour transformer le HTML de façon incorrecte.

MarkH




Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20061201 Firefox/2.0.0.6 (Ubuntu-feisty)