5546 sujets

Sémantique web et HTML

Bonjour

J'ai de nombreuses pages qui font appel à la même librairie de fonctions JavaScript.
Selon la version du modèle de pages, ces fonction effectuent des opérations différentes.
L'objectif est d'éviter de devoir modifier les anciennes pages, mais de faire des modifications "à la volée" en fonction de la version du modèle.

Ma question: que recommanderiez vous comme moyen d'inclure une version de modèle?

Par exemple on peut ajouter une balise
<meta name="model" content="2.0"/>

ou introduire un attribut "data-version" dans <body>, ou bêtement ajouter un script qui définit une variable globale "ModelVersion"... Il y a sans doute plein d'autres moyens auxquels je ne pense pas.

Merci de vos avis
Administrateur
Les balises meta sont plus ou moins codifiées, il vaut mieux ne pas en utiliser arbitrairement (imaginons qu'une vraie balise meta model soit ajoutée d'ici quelques mois ou années, quels en seraient les effets ?).

Par contre passe par des attributs class ou data-* qui sont de base inoffensifs me semble une meilleure solution. Cette valeur peut ensuite être lue en JavaScript et stockée dans une variable. Tout dépend du processus d'édition/création des pages.
dew a écrit :
Les balises meta sont plus ou moins codifiées, il vaut mieux ne pas en utiliser arbitrairement (imaginons qu'une vraie balise meta model soit ajoutée d'ici quelques mois ou années, quels en seraient les effets ?).

Par contre passe par des attributs class ou data-* qui sont de base inoffensifs me semble une meilleure solution. Cette valeur peut ensuite être lue en JavaScript et stockée dans une variable. Tout dépend du processus d'édition/création des pages.

Merci de ta réponse
Pour l'instant, j'ai créé un attribut data-version dans<body>.
En toute logique il serait préférable de la mettre dans <html> mais je ne sais pas comment je pourrais la récupérer en JavaScript.
Modifié par PapyJP (06 Aug 2015 - 15:10)
Administrateur
Suggestion en JS pur :

document.getElementsByTagName('html')[0].getAttribute('lang')


On peut aussi utiliser la propriété dataset
dew a écrit :
Suggestion en JS pur :

document.getElementsByTagName('html')[0].getAttribute('lang')


On peut aussi utiliser la propriété dataset

Merci Dew, je préfère effectivement cette solution de même que dataset, c'est beaucoup plus clair de cette façon.