[XHTML] Validation XHTML Framset avec Javascript et ASP [Réglé]
Validation XHTML Framset avec Javascript et ASP [Réglé] [XHTML] - HTML/CSS - Programmation
MarshPosté le 24-11-2003 à 14:28:54
Bonjour Je suis en train de valider un intranet que je fais pour le travail. J'ai quelques problèmes pour valider des pages qui font appel au balises de frames (je peux pas faire autrement). Voici les 2-3 erreurs que je ne comprends pas et un morceau de code. Signalons que j'utilise du javascript dans ces pages.
Citation :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>xxx</title> [... meta + css] <base target="left" /> </head> <body>
Line 49, column 5: document type does not allow element "body" here (explain...). <body> ^ Line 63, column 42: an attribute value must be a literal unless it contains only name characters (explain...). ...Actif==00) {document.write ("<a href=\"4right.asp\" target=\"right\" onClick=
J'ai également remarqué que le validateur me faisait un warning sur les "&" présent dans certains textes de la page, malgré l'encodage indiqué. Je comprends pas trop non plus pourquoi.
merci d'avance pour votre aide
Message édité par urd-sama le 24-11-2003 à 15:53:49
Publicité
Posté le 24-11-2003 à 14:28:54
drasche
Posté le 24-11-2003 à 14:43:01
c'est quoi ton encodage? moi je mets & pour les "&" (en tant que séparateur du moins) dans les urls et c'est réglé en ce qui concerne ce problème particulier.
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
drasche
Posté le 24-11-2003 à 14:44:43
ah oui pour un frameset, le <body> n'existe tout simplement pas, voilà tout. Tu es juste sensée déclarer un <frameset> (donc rien que les liens vers les frames)
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
urd-sama
waste of space
Posté le 24-11-2003 à 14:44:54
le truc c'est que le problème n'est pas dans les url, mais dans du bête texte de ma page. voici l'encodage en question pour info <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
urd-sama
waste of space
Posté le 24-11-2003 à 14:46:50
ok pour le frameset, je n'ai plus l'erreur sur le body. par contre à la place il me fait cette erreur:
Citation :
Line 18, column 30: document type does not allow element "script" here (explain...). <script type="text/javascript">
drasche
Posté le 24-11-2003 à 14:49:56
ben je vois mal du scriptage dans un frameset
le frameset est là uniquement pour définir le layout de tes frames, donc ton code js devrait se trouver dans une page de contenu (ce que n'est pas vraiment le frameset)
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
drasche
Posté le 24-11-2003 à 14:50:24
pour le & je vois pas, je viens de faire un test et il me l'accepte (avec le même charset), ça doit être autre chose. C'est quoi ton warning?
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
simogeo
j'ai jamais tué de chats, ...
Posté le 24-11-2003 à 14:50:27
extrait d'openweb :
Citation :
Gestion des caractères spéciaux avec CDATA
XHTML est beaucoup plus sensible que ne l'était HTML aux caractères spéciaux dans les déclarations CSS et JavaScript. Vous ne pouvez plus inclure les blocs de code dans des balises de commentaires comme en HTML : en effet, les navigateurs supportant XML peuvent réagir de manière inattendue à la présence de ces caractères et simplement les ignorer, affichant ainsi le contenu des éléments script et style. Afin d'éviter un tel désastre, il est recommandé d'entourer les scripts et les styles d'une section CDATA, qui indiquera aux navigateurs XML que les caractères spéciaux inclus doivent être interprétés normalement.
Toutefois, cela ne règle que partiellement le problème puisque les navigateurs HTML ignorent le contenu d'une balise XML CDATA et requièrent l'utilisation traditionnelle des commentaires HTML. La seule solution viable à ce jour consiste donc à placer toutes les définitions de CSS ou de JavaScript dans des fichiers externes.
--------------- from here and there -- \o__________________________________ -- la révolution de la terre, en silence
ben je vois mal du scriptage dans un frameset le frameset est là uniquement pour définir le layout de tes frames, donc ton code js devrait se trouver dans une page de contenu (ce que n'est pas vraiment le frameset)
et là j'ai besoin de mon body, d'ou le problème initial
pour le & je vois pas, je viens de faire un test et il me l'accepte (avec le même charset), ça doit être autre chose. C'est quoi ton warning?
Line 85, column 233: character "&" is the first character of a delimiter but occurred as data il me fait la meme chose pour un autre fichier avec les balises "<" d'une ouverture de balise asp "<%"
ben ton body il contient quoi? faut le déplacer dans une autre page et lui réserver un frame pour lui
et si le validateur arrive à lire une balise ASP, t'as un problème au niveau de ta génération de page
Message édité par drasche le 24-11-2003 à 14:59:08
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
ben ton body il contient quoi? faut le déplacer dans une autre page et lui réserver un frame pour lui
ah ok mais en fait j'utilise peut-etre la mauvaise dtd dans mon cas je suis en train de valider la page de la frame de gauche, et non l'index. donc il n'y a pas vraiment de framset, juste des attributs target.
drasche
Posté le 24-11-2003 à 15:04:15
ben faut savoir ce que tu fais de ta page
le dtd frameset n'est utilisé que dans la page où tu utilises <frameset>
les autres pages ont un dtd classique.
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
urd-sama
waste of space
Posté le 24-11-2003 à 15:08:07
faut plutot que j'utilise le html 4.01 alors?
drasche
Posté le 24-11-2003 à 15:09:36
celui là ou le xhtml 1.0/1.1 à ta guise
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
urd-sama
waste of space
Posté le 24-11-2003 à 15:10:11
je vais essayer avec le xhtml 1.0 transitional
drasche
Posté le 24-11-2003 à 15:11:25
du moment que c'est pas un frameset ça va
(le strict, smieux )
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
urd-sama
waste of space
Posté le 24-11-2003 à 15:14:07
bon ca fait un problème de réglé, par contre il accepte rien avec mon print document.write en javascript.
sur le \ Line 30, column 42: an attribute value must be a literal unless it contains only name characters (explain...). ...Actif==00) {document.write ("<a href=\"4right.asp\" target=\"right\" onClick=
Line 30, column 64: character "\" is not allowed in the value of attribute "target" ...rite ("<a href=\"4right.asp\" target=\"right\" onClick=\"parent.left.location
Line 30, column 82: there is no attribute "onClick" (explain...). ...right.asp\" target=\"right\" onClick=\"parent.left.location='4left.htm?000000
est-ce qu'il ne faudrait pas utiliser les balises de commentaire pour délimiter ton script? (à l'intérieur de la balise script, donc <!-- --> ), parce que j'ai quand même l'impression qu'il essaie de l'interpréter comme du HTML pur. J'ai pas trop d'expérience sur la validation du Javascript vu que j'en fous jamais dans mes pages.
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
ah ben non, pour quoi faire? le validateur verra jamais ça toute façon, je comprends pas où tu veux en venir
et pourquoi tu pourrais pas faire du strict d'abord?
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
haaaaaaaaaan comment je l'avais loupé celui là events/attributs/balises en minuscules
--------------- Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Marsh Posté le 24-11-2003 à 14:28:54
Bonjour
Je suis en train de valider un intranet que je fais pour le travail. J'ai quelques problèmes pour valider des pages qui font appel au balises de frames (je peux pas faire autrement).
Voici les 2-3 erreurs que je ne comprends pas et un morceau de code. Signalons que j'utilise du javascript dans ces pages.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>xxx</title>
[... meta + css]
<base target="left" />
</head>
<body>
<script type="text/javascript">
if (vActif==00) {document.write ("<a href=\"4right.asp\" target=\"right\" onClick=\"parent.left.location='4left.htm?000000'\" class=\"menuLeft , menuLeftSelected\">Home</a>" );}
else {document.write ("<a href=\"4right.asp\" target=\"right\" onClick=\"parent.left.location='4left.htm?000000'\" class=\"menuLeft\">Home</a>" );}
</script>
[...]
</body>
</html>
voici deux erreurs que je ne comprends pas:
Line 49, column 5: document type does not allow element "body" here (explain...).
<body>
^
Line 63, column 42: an attribute value must be a literal unless it contains only name characters (explain...).
...Actif==00) {document.write ("<a href=\"4right.asp\" target=\"right\" onClick=
J'ai également remarqué que le validateur me faisait un warning sur les "&" présent dans certains textes de la page, malgré l'encodage indiqué. Je comprends pas trop non plus pourquoi.
merci d'avance pour votre aide
Message édité par urd-sama le 24-11-2003 à 15:53:49