更改G + url参数而不刷新页面

时间:2013-05-24 16:21:39

标签: javascript jquery ajax symfony google-plus

我有一个用户可以在fbG+上分享的链接。

用户可以修改该链接,并通过ajax调用进行修改,因此页面不会刷新。

我的gplus按钮代码:

<link rel="canonical" href="{{ url }}" />
<g:plus action="share" style="height: 28px;" ></g:plus>

当用户更改网址时,我也会更新href属性:

$.post(url,{
       someParams:"someValues"
   },function(data){
 .
 .
 .
 // updating the href attribute with the new modified url 
 $('link[rel="canonical"]').attr("href",data.url);
 }

问题是G+按钮仍然加载旧网址。 但只有通过刷新才能得到新的。

我的问题是如何在不刷新页面的情况下更改G+网址?

1 个答案:

答案 0 :(得分:1)

这是你想要的(显然改变了你的ajax回调逻辑的提示)?

http://jsfiddle.net/coma/2783J/6/

<强> HTML

<!-- Place this tag where you want the +1 button to render. -->
<div id="gplus"></div>
<button>change it!</button>

<强> JS

$(function() {

    var container = $('#gplus');
    var render = function(url) {

        container.html('<g:plusone href="' + url + '"></g:plusone>');
        gapi.plusone.go('gplus');

    };

    $('button').click(function(event){

        var url = prompt('Give me an URL');
        render(url);

    });

    render(location.href);

});

请注意我在该jsfiddle的外部资源中加载了plusone.js.

BTW,你为什么使用Symfony2标签?