Google Plus不在网站上工作

时间:2012-08-15 22:53:17

标签: javascript html google-plus google-plus-one

我最初创建了一个Google Plus One按钮,复制了javascript代码,并将其粘贴到我的网站中。按钮工作正常。几周后,按钮没有出现。我在多个浏览器中尝试过,但只有空格出现在按钮所在的位置。我试过重新安装,无济于事。

由于我在我的网站上使用WordPress,我决定取出HTML和JavaScript代码并在主页上安装ShareThis并添加Plus One按钮。它甚至没有出现在那里。你可以在http://www.wwwbuildawebsite.com/看到它。它应该介于Facebook Like和Pinterest之间。但是,我看到它出现在我网站的另一页http://wwwbuildawebsite.com/tutorials/index.html上。

在我的其他帖子中,会显示空白区域。您可以单击“教程”页面中的任何链接。共享栏出现在左侧;在Twitter之前,Google Plus One按钮应首先出现。

2 个答案:

答案 0 :(得分:0)

您的页面从appendCodeColorer事件处理程序的主体调用未定义的函数onLoad。这可以防止onLoad事件处理程序成功完成。

包含Google plus一个按钮的iframe最初使用CSS样式呈现:

position: absolute;
top: -10000px;

然后在onLoad期间显示该按钮。如果onLoad没有完成,它将保持不可见。

答案 1 :(得分:0)

问题似乎是你要包含mootools-1.2.3,它会覆盖浏览器提供的JSON对象。尝试调用JSON.parse时,sharethis库失败,然后无法呈现G +按钮。

你可以:

1)升级到mootools 2.0或更新版本(参见https://mootools.lighthouseapp.com/projects/2706-mootools/tickets/741-google-friend-connect-js-api-with-mootools#ticket-741-4

2)在加载mootools后,将您的调用置于异步加载plusone.js:

<script type='text/javascript' src='http://www.wwwbuildawebsite.com/wp-content/plugins/superslider/js/mootools-1.2.3-core-yc.js?ver=1.2.3'></script>

<script type="text/javascript">
  (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>

这将在覆盖后重新启动JSON.parse函数。

3)手动别名函数:

JSON.parse = JSON.decode;
JSON.stringify = JSON.encode;