使用Chrome(22.0 ....),有时候,当我尝试拍摄时:
<script src="http://apis.google.com/js/plusone.js" type="text/javascript"></script>
失败了。我的意思是,如果我检查网络控制台,它会显示“待处理......”,并且我的.load()事件会被卡住。
为什么呢?我该如何解决?
还试过:
<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>
但它是一样的......
答案 0 :(得分:2)
我没有在您链接的网页源中的任何位置看到+1按钮的HTML容器。我看到您在页面上引用的第一个脚本,但您的页面似乎丢失了:
<!-- Place this tag where you want the +1 button to render. -->
<div class="g-plusone" data-annotation="inline" data-width="300"></div>
第二段脚本用于异步加载(首选),您引用也需要插入相同类型的HTML容器。
您可以使用+1 button configuration tool生成要包含在您网页中的代码。
[UPDATE] g-plusone元素显然是由jQuery动态注入的,jQuery具有与+1按钮自己的onload处理程序不同的onload时序,这解释了为什么有时它可能会显示。在这种情况下,您需要使用parseTags:explicit选项:
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{parsetags: 'explicit'}
</script>
然后在你自己的JavaScript注入g-plusone div后,你必须调用:
gapi.plusone.go();
启动时会明确呈现页面上的所有+1按钮。