Google +1按钮不符合W3C标准

ing*_*.am 41 javascript w3c w3c-validation google-plus-one

所以我一直在玩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>
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会发生这种情况以及如何使其符合要求?谢谢

编辑:为了让这个通过验证,我在我的网站上写了一篇文章.

Que*_*tin 24

有谁知道为什么会这样?

因为谷歌设计它使用标签汤而不是HTML

如何使这兼容?

文档具有在HTML 5规范草案下有效的替代标记:

<div class="g-plusone" data-size="standard" data-count="true"></div>
Run Code Online (Sandbox Code Playgroud)

如果你希望它与HTML 4.x或XHTML 1.x一起使用,那么你可能会运气不好(虽然你可能能够使用JS添加不兼容的标记,但这只是一个隐藏它的黑客验证,而不是有效标记的精神)


Gil*_*bou 11

在标题中插入此代码:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
      {lang:'en', parsetags:'explicit'}
</script>
Run Code Online (Sandbox Code Playgroud)

然后将此代码插入您想要按钮的位置:

<div id="plusone-div" class="plusone"></div>

<script type="text/javascript">
      gapi.plusone.render('plusone-div',{"size": "small", "count": "true"});
</script>
Run Code Online (Sandbox Code Playgroud)

完整的答案可以在这里找到(法语)


dos*_*ssy 9

我猜你正试图验证XHTML.您最接近的是成功验证是通过添加以下内容在元素上定义"g"命名空间:

xmlns:g="http://base.google.com/ns/1.0"
Run Code Online (Sandbox Code Playgroud)

<html xmlns:g="http://base.google.com/ns/1.0"> ... </html>
Run Code Online (Sandbox Code Playgroud)


小智 6

使Google Plus One代码验证的最简单方法:只需:

<div class="g-plusone"></div>
Run Code Online (Sandbox Code Playgroud)

代替:

<g:plusone size="medium" href="http://www.example.org"></g:plusone>
Run Code Online (Sandbox Code Playgroud)

缺点:你不能添加诸如'count'或'size'之类的参数,否则代码将不再有效.

这是谷歌提出的HTML5代码,但适用于其他(X)HTML风格.在HTML5中,您可以添加"数据计数","数据大小"等参数.