问题异步加载Google +1小部件

Sah*_*tta 5 jquery google-buzz google-plus-one

我正在开发的网站上有一些小部件,我从javascript文件中异步加载它们,所以它不会阻止DOM完成.

例如,我使用Digg和Buzz小部件执行此操作,它工作正常:

// Buzz Share
function buzzShare() {
    $jQ('.sharebox').append('<div class="widget"><a title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count"></a></div>');
    $jQ.getScript('http://www.google.com/buzz/api/button.js');
}
// Digg Share
function diggShare() {
    $jQ('.sharebox').append('<div class="widget"><a class="DiggThisButton DiggMedium"></a></div>');
    $jQ.getScript('http://widgets.digg.com/buttons.js');
}
Run Code Online (Sandbox Code Playgroud)

对于新的Google +1小部件,相同的逻辑不起作用:

// PlusOne Share
function plusOneShare() {
    $jQ.getScript('http://apis.google.com/js/plusone.js');
    $jQ('.sharebox').append('<div class="widget"><div class="g-plusone" data-size="tall" data-count="true"></div></div>');
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用HTML5标签和<g:plusone></g:plusone>.都没有工作.

以下是刚推出的服务的文档:http://code.google.com/apis/+1button/

我还注意到,如果将脚本直接嵌入到HTML中,您可以执行以下操作.

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

有没有办法在{"parsetags": "explicit"}jQuery中使用参数.getScript

PS我也尝试在plusOneShare功能中切换第一行和第二行,但这两行都不起作用.

谢谢!

Sah*_*tta 1

我在问题中描述的方法非常有效。如果我没猜错的话,谷歌端只是存在某种错误。在他们宣布该功能几个小时后,我就试图让该功能发挥作用。大约两天后,它现在可以正常工作了。

.getScript方法是通过 AJAX 加载 +1 的好方法。