36 votes

Nouveau Facebook comme bouton de validation HTML

Après avoir ajouté le nouveau bouton "facebook like" sur ma page, celui-ci n'est plus validé par le standard XHTML strict. Les deux erreurs que je rencontre sont:

  1. Toutes les balises de propriété méta indiquent qu'il n'y a pas de propriété d' attribut;
  2. Toutes les variables utilisées dans la ligne du bouton J'aime sont listées, il n'y a pas d'attribut pour cela. La ligne est la suivante:

    <fb:like href="http://www.pampamanta.org" layout="button_count" show_faces="false" width="120" action="like" font="arial" colorscheme="light"></fb:like>

43voto

fiveDust Points 454

Voici une solution pour ne pas permutation doctype:

Comme zerkms suggéré, en ajoutant le "fb" espace de noms ne s'applique que pour le "fb:" les attributs. La "propriété" de l'attribut de la balise meta reste pas valide XHTML.

Comme vous le savez, Facebook s'appuie sur le RDFa de la conformité, vous pouvez utiliser le doctype suivante:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> 

À l'aide de RDFa apporte plus de problèmes que de la simple FB problème corrigé dans la plupart des cas cependant.

comme _timm suggéré, de manière dynamique par écrit les balises meta pour les dom n'a pas de sens. L'une des principales utilisations de ces fb meta tags est la FB-bot analyse d'un "partager" ou "j'aime" de la page cible (page action) pour obtenir des titres, des images et d'ancrage de l'étiquette de la facebok un message sur le mur de l'auto de la population. Compte tenu de ce fait et compte tenu du fait que facebook plus utilise certainement une simple page de chercher à lire dans la livraison html réponse, sans aucune capacité d'analyse d'une relative balise meta injecter par javascript, la fonctionnalité prévue échouera.

Maintenant, il est assez simple correctif pour fournir un compromis entre une validation XHTML et le succès de l'analyse par facebook : enroulez le facebook méta dans les commentaires html. Qui contourne le w3c et l'analyseur de facebook reconnaît toujours les balises meta, parce qu'il ignore le commentaire.

<!--
<meta property="og:image" content="myimage.jpg" />
<meta property="og:title" content="my custom title for facebook" />
-->

25voto

Stoyan Points 341

à partir d'aujourd'hui, vous pouvez également utiliser un balisage compatible avec HTML5

par exemple au lieu de

 <fb:like href="example.org">
 

tu peux faire

 <div class="fb-like" data-href="example.org">
 

Puisque les attributs data- * sont valables en HTML5

4voto

kevin Points 41

Juste un suivi au cas où quelqu'un utiliserait la méthode des commentaires. Facebook honore actuellement les commentaires. Par conséquent, si les balises de méta-propriété sont enveloppées dans des commentaires, Facebook les ignorera. Si vous vérifiez vos pages avec l'URL de Facebook Facebook, vous constaterez qu'elles n'utilisent pas de balises méta commentées.

2voto

ceejayoz Points 85962

FBML ne sera pas validé, car ce n'est pas XHTML valide. Le validateur W3C ne sait pas quoi en faire. Les erreurs peuvent être ignorées en toute sécurité.

Si vous devez obligatoirement avoir une validation, vous pouvez utiliser une balise <script> pour générer le FBML au lieu de l’inclure directement dans le code HTML de la page.

2voto

James Dillinger Points 21

@Eric j'espère que vous avez finalement trouvé ce que vous cherchiez.

L'intégration de Twitter a ses difficultés, si vous voulez la possibilité pour les développeurs afin de valider indépendamment de XHTML 1.0 Strict ou HTML5. Facebook, en revanche, est en bas à droite impossible avec son custom FBML balises.

Sur notre dernier projet de mon ami Jason et j'ai su deux choses pour certains:

  1. Nous allions à valider XHTML 1.0 Strict à l'aide de Facebook est Comme Bouton
  2. Nous n'allions pas à ajouter Techniques de la Dette par fausser notre DOCTYPE ou xmlns

La solution est d'utiliser un flexible, asynchronous JavaScript module. Heureusement, nous avons eu de l'aide et de l'orientation en cours de route: http://techoctave.com/c7/posts/40-xhtml-strict-tweet-button-and-facebook-like-button

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