132 votes

Déclaration de l'espace de noms Open Graph : HTML avec XMLNS ou préfixe head ?

J'ai vu des informations contradictoires sur la meilleure façon de mettre en œuvre les espaces de noms Open Graph. Plus précisément, le site web de l'Open Graph utilise quelques méthodes différentes, et les exemples de l'Open Graph de Facebook utilisent d'autres méthodes.

Exemple de site web Open Graph (utilisant l'attribut préfixe HTML) :

<html prefix="og: http://ogp.me/ns#">

Code source du site web Open Graph (en utilisant l'attribut HTML XMLNS) :

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">

Documentation sur l'Open Graph de Facebook (utilisation de l'attribut HEAD prefix) :

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">

Documentation n° 2 sur l'Open Graph de Facebook (utilisation de l'attribut HTML XMLNS) :

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" 
      xmlns:fb="https://www.facebook.com/2008/fbml">

Quelle est la méthode recommandée ou cela n'a-t-il aucune importance ?

9 votes

Je suis en train de faire un suivi interne à FB pour obtenir la bonne réponse pour vous.

9 votes

@SimonCross, des années plus tard (Nov/2017) nous attendons toujours la réponse... ;)

74voto

Paul Tarjan Points 13754

Ils sont tous équivalents et fonctionneront tous.

Utilisez le préfixe, car c'est la nouvelle méthode recommandée et elle comporte moins de caractères.

Je vais mettre à jour toute notre documentation en préfixe.

4 votes

Pouvez-vous expliquer por qué d'utiliser quoi que ce soit ? Et si j'omettais simplement cette déclaration ? Est-ce que quelque chose va se casser si je fais ça ?

3 votes

Rien ne sera cassé pour l'instant, mais se fier aux valeurs par défaut est rarement une bonne idée quand on peut être explicite. Si, dans deux ans, nous modifions les valeurs par défaut, votre site ne fonctionnera plus. En outre, si vous déclarez vos espaces de noms directement, cela aidera d'autres analyseurs, et pas seulement Facebook.

1 votes

Paul, j'ai remarqué que les documents n'ont pas été mis à jour depuis novembre. Pourquoi est-il préférable d'utiliser la nouvelle méthode, si les deux méthodes sont prises en charge par tous les navigateurs existants dans un avenir prévisible ? Adopter quelque chose de nouveau si le support n'est pas toujours présent (parmi les agents utilisateurs, les analyseurs, etc.) semble être un risque inutile, à moins qu'il n'y ait une différence réelle entre les deux. Je n'ai pas été en mesure de trouver une ressource qui l'affirme.

5voto

lulalala Points 3895

J'ai essayé de suivre la réponse de @Paul Tarjan en utilisant le préfixe dans la tête. Cependant, J'ai un problème avec Internet Explorer 8 . Au final, j'utilise toujours la méthode xmlns pour l'espace de nom fb :

<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
  <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">

3voto

Josh H Points 115

Ça n'a même pas d'importance. Contexte initial du noyau RDFa reconnaît og comme un préfixe de vocabulaire largement utilisé :

Les utilisateurs de RDFa peuvent utiliser ces préfixes sans avoir l'obligation de définir les préfixes dans le code HTML. La même liste de préfixes a également été définie pour JSON-LD sous forme de Contexte JSON-LD à l'URI http://www.w3.org/2013/json-ld-context/rdfa11 ; les utilisateurs de JSON-LD peuvent utiliser la fonction @context avec cet URI comme raccourci pour utiliser les mêmes préfixes.

Souligné pour plus de clarté.

Par conséquent, il n'est pas nécessaire d'ajouter un espace de nom à vos documents HTML. Plus d'informations aquí .

2voto

<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>

Il y a la meilleure façon de valider.

1voto

Chawathe Vipul Points 623

L'attribut prefix/xmlns est utile pour définir des raccourcis. rdf est issu de la lignée xml, donc la notation xmlns devrait fonctionner indépendamment des détails du doctype. rdfa étend html avec des attributs incluant le préfixe comme indiqué par http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax Cependant, cela nécessite d'adhérer à http://dev.w3.org/html5/rdfa/rdfa-module.html De même, la prise en charge par les outils de rel="profile", telle qu'elle est mentionnée dans ce document, est encore attendue. En attendant, il faut choisir entre utiliser les anciens doctypes, placer manuellement des rdf : à des fins de validation ou attendre que le validateur et les outils de ce type rattrapent leur retard. Le bon endroit pour faire une déclaration est toute balise d'ouverture d'élément qui est l'ancêtre de l'endroit où la notation abrégée sera utilisée. Dans le cas spécifique du préfixe og, il est prédéfini par le contexte initial de RDFa Core. http://www.w3.org/2011/rdfa-context/rdfa-1.1.html Il n'est donc pas nécessaire de l'ignorer pour les doctypes les plus récents. Et spécifiquement pour html5 le contexte initial RDFa http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 n'est chargé qu'après le contexte initial RDFa mentionné précédemment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X