首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ajax插入标记后显示Google Plus按钮

使用ajax插入标记后显示Google Plus按钮
EN

Stack Overflow用户
提问于 2012-05-08 16:19:58
回答 1查看 2.9K关注 0票数 2

我正在尝试加载一个页面上的google+ 1按钮,目标是通过ajax将按钮标记插入到页面中,然后调用要呈现的按钮。

第一次加载页面时,该按钮呈现良好。当从/displaycode.php获取标记,然后再次进行呈现调用时,就会出现问题。

代码语言:javascript
复制
<a href="javascript:void(0)" id="btn">REFRESH</a>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {"parsetags": "explicit"}
</script>
<script type="text/javascript">
$(function() {
  $("#btn").click(function() {
        $('#live-preview').empty();
        $("#live-preview").load('/displaycode.php #code');
        gapi.plusone.go();
    return false;
  });
    gapi.plusone.go();
});
</script>
<div id="live-preview"><div id="code"><div class="g-plusone"></div></div></div>
</div>

该问题的演示可在此处http://32px.co/googleplusdemo.php查看。提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-08 17:03:20

Render方法

使用显式渲染:https://developers.google.com/+/plugins/+1button/#example-explicit-render

代码语言:javascript
复制
gapi.plusone.render('live-preview')

而不是:

代码语言:javascript
复制
gapi.plusone.go();

还需要设置"{"parsetags":"explicit"}“:

代码语言:javascript
复制
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
    {"parsetags": "explicit"}
</script>

编辑

此外,还必须确保在jQuery加载完成后调用render。因此,元素实际上在DOM中。

代码语言:javascript
复制
$(function() {
    $("#btn").click(function(e) {
        e.preventDefault();
        $('#live-preview').empty(); // Not necessary 
        $("#live-preview").load('/displaycode.php #code', function() {
            gapi.plusone.render('live-preview');
        });
    });
    gapi.plusone.render('live-preview');
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10495049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档