Кнопка Google +1 не совместима с W3C - PullRequest
41 голосов
/ 02 июня 2011

Итак, я играл с кнопкой Google +1, пытаясь получить ее на своем сайте, но она не совместима с W3C.

Вот код:

<!-- Place this tag in your head or just before your close body tag -->
<script type="text/javascript" src="http://apis.google.com/js/plusone.js">
  {lang: 'en-GB'}
</script>

<!-- Place this tag where you want the +1 button to render -->
<g:plusone size="medium" href="http://www.example.org"></g:plusone>

Кто-нибудь знаетпочему это происходит и как сделать это совместимым?Спасибо

РЕДАКТИРОВАТЬ: Чтобы пройти через проверку, я написал статью на моем веб-сайте .

Ответы [ 12 ]

0 голосов
/ 17 февраля 2012

Это решение, которое я придумал ...

<span id="plusone"></span>
<script type="text/javascript">
    //< ![CDATA[    
       $("#plusone").html('<g:plusone></g:plusone>');
      (function() {
        var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
        po.src = 'https://apis.google.com/js/plusone.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
      })();
    //]]>    
</script>

Убедитесь, что в вашем заголовке есть <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> или другая ссылка на скрипт jquery!

0 голосов
/ 05 января 2012

Другим способом может быть настройка DTD, как я сделал. Я скачал xhtml1-strict.dtd

Найдите следующее определение сущности в файле dtd

<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc; )*">

И отредактируйте его следующим образом (это поможет разрешить контекстную проверку, т. Е. Где должен появляться этот тег)

<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc; | g:plusone)*">

Теперь определяем новый элемент

<!ELEMENT g:plusone EMPTY>

А затем перечисление атрибутов

<!ATTLIST g:plusone
  href %URI; #IMPLIED
  size CDATA #IMPLIED
>
...