我最初创建了一个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按钮应首先出现。
答案 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;