我有一个用户可以在fb
和G+
上分享的链接。
用户可以修改该链接,并通过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+
网址?
答案 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标签?