bonjour à tous

ai je le moyen de rendre cette ligne conforme au niveau w3c (en XHTML 1.0 transitionnel)...
<script type='text/javascript'>function askypqc(){var win=window.open('scripts/txt-ypqc.htm','askwinypqc',',height=280,width=280,resizable=yes');if(!win.opener)win.opener=self}document.write('<a href="javascript:void(0)" onclick="askypqc()">mail</a>');


le message d'erreur que j'ai est:
a écrit :
Error Line 20, column 240: document type does not allow element "a" here .

...vascript:void(0)" onclick="askypqc()">mail</a>');


merci de votre aide
Christian Le Bouler a écrit :
Si le validateur interprète une séquence syntaxique comme une erreur alors que ce n'est pas le cas hé bien c'est le problème du validateur et il suffit de le savoir.

Si, c'est une erreur. On ne peut pas mettre de balises dans un <script> Le validateur en voit, et donc retourne une erreur Smiley smile

La meilleure solution de toute manière est de ne jamais mettre du script comme ça dans la page, mais dans un fichier à part. Déjà ça viole la séparation contenu/comportement. Ensuite avec un fichier, le navigateur pourra le mettre en cache.
FlorentG a écrit :

Si, c'est une erreur. On ne peut pas mettre de balises dans un <script> Le validateur en voit, et donc retourne une erreur Smiley smile

La meilleure solution de toute manière est de ne jamais mettre du script comme ça dans la page, mais dans un fichier à part. Déjà ça viole la séparation contenu/comportement. Ensuite avec un fichier, le navigateur pourra le mettre en cache.


Certes mais de mon point de vue ce n'est pas la question.
Administrateur
Christian Le Bouler a écrit :
Certes mais de mon point de vue ce n'est pas la question.

La question posée est bien de savoir s'il est possible de rendre la ligne de code proposée valide ?

Il me semble que les différentes réposes de Florent et Florent répondent exactement à cette question en fournissant à la fois des explications et une façon d'y remédier :
- non ce c'est pas valide,
- explication : on ne peut pas placer de balise au sein d'un élément script, ce qui est le cas avec le code proposé,
- solution : externaliser la partie JavaScript, ce qui rendra le code valide. De plus, c'est une bonne pratique à employer dès que posible.

Que pourrions-nous attendre de plus exactement ? Smiley confus
merci Raphaël pour les compléments d'infomations

j'ai externalisé cette partie relative à l'encodage du mail

bien cordialement