5568 sujets

Sémantique web et HTML

Bonjour à tous !

A peine m'à ton aguillé sur plusieurs validateur que j'obtient une erreur bizarre que seul validome me détecte.

Sur cette ligne de code

<div class='menuCREN' style='float:left;' onmouseout= "document.getElementById('hid0').style.display='none'; document.getElementById('Mfc0').src = './menu/Bouton_menu.png';" onmouseover= "document.getElementById('hid0').style.display='inline'; document.getElementById('Mfc0').src = './menu/Bouton_menu_over.png';">


validome me dit :

When using embedded events (Event-Handler), script language must be specified within Meta-Tag
(z.B. &lt;meta http-equiv="Content-Script-Type" content="text/javascript" /&gt;)
or HTTP-Header (Content-Script-Type: text/javascript)


Position de l'erreur: c0').src = './menu/Bouton_menu.png';" onmouseover= "document.getElementById(

En gros il veut des balises script ? O_o !! Et pourquoi seulement sur le onmouseover ?

Et pourquoi Validome me le détecte alors que http://validateur.ca et http://w3qc.org/validateur/ ne me détectent aucun problèmes ?

Merci

Rude
Modifié par ffwrude (06 Jun 2007 - 18:23)
ffwrude a écrit :
En gros il veut des balises script ?

Non. Ce qu'il veut est précisé explicitement dans l'explication donnée.

En français, ça veut dire :
- des gestionnaires d'évènements (onmouseout...) sont utilisés ;
- cependant, le langage de script utilisé dans le document n'est pas spécifié ;
- il faut donc spécifier ce langage.

Ensuite, il propose deux moyens pour spécifier le langage de script (ici, il s'agit de Javascript, bien sûr).

1. Une balise META :
<meta http-equiv="Content-Script-Type" content="text/javascript" />

2. Ou bien l'en-tête HTTP correspondant :
Content-Script-Type: text/javascript
Bah... je suis en plein milieu d'un code. Je vais pas mettre sur une div des balises meta ....

faut il que je les rajoutent simplement en tête de fichier ? de plus c'est un fichier inclu. Je n'ai donc pas de <head> dans cette page.

Merci de ta réponse

Rude
ffwrude a écrit :
Bah... je suis en plein milieu d'un code. Je vais pas mettre sur une div des balises meta ....

Certes non, quelle idée !

ffwrude a écrit :
faut il que je les rajoutent simplement en tête de fichier ?

Oui. Pour être plus précis : dans le head de la page (et une seule balise META avec cette information, pas une par utilisation de Javascript !), et pas ailleurs.

ffwrude a écrit :
de plus c'est un fichier inclu. Je n'ai donc pas de <head> dans cette page.

Tu as un head dans la page générée (ou alors tu as un gros problème...).

Pour être clair : il s'agit de déclarer pour la page entière le type de script utilisé. Il est très probable que les seules fois où tu utiliseras un script exécuté côté client, ce sera du Javascript. Tu peux donc sans problème déclarer Javascript (type MIME "text/javascript") comme langage de script pour le document.

C'est un peu la même manoeuvre que pour déclarer l'encodage des caractères (voir la FAQ sur ce point, si ça n'est pas clair). L'idéal étant de déclarer non seulement via une balise META mais aussi via les en-têtes HTTP.

Dans la pratique, cependant, il semblerait que ça ne gêne pas les navigateurs si on ne prend pas le temps de déclarer "text/javascript" comme langage de script principal pour la page.
(Contrairement à l'encodage des caractères, qu'il est indispensable de déclarer correctement.)
Modifié par Florent V. (06 Jun 2007 - 12:44)
Je viens de me relire et j'étais vraiement à côté de la plaque lorsque je t'ai répondu.

Je ne sais pas pourquoi j'étais sur d'avoir lu

<script type="text/javascript">


et pas


<meta http-equiv="Content-Script-Type" content="text/javascript" />


C'était bien la bonne solution. Merci bien