還有類似的問題on StackOverflow here。
你需要做的是調用共享按鈕的顯式渲染方法。用以下代碼替換選擇div的函數將延遲屏幕上共享對象的渲染。
$("#clickme").click(function()
{
gapi.plus.go();
});
要渲染的各個按鈕,你必須通過設置共享的動作參數的對象,例如:
gapi.plus.render("plusOne", {action: "share"});
下面是一個更完整的例子,但這異步腳本加載和渲染可見的各種份額目標here:
<html>
<body>
<p>
<div data-action="share" class="g-plus" id="plusOne"></div>
<button onClick="gapi.plus.render('plusOne', getParamBag('https://www.google.com'))"></button>
</p>
<p>
<div data-action="share" class="g-plus" id="plusTwo"></div>
<button onClick="gapi.plus.render('plusTwo', getParamBag('https://plus.google.com'))"> </button>
</p>
<p>
<div data-action="share" class="g-plus" id="plusThree"></div>
<button onClick="gapi.plus.render('plusThree', getParamBag('https://developers.google.com'))"></button>
</p>
</body>
<script type="text/javascript">
window.___gcfg = {
lang: 'en-US',
parsetags: 'explicit'
};
(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);
})();
function getParamBag(url){
return {
action: "share",
href: url
};
}
</script>
</html>
它將渲染所有對象。但我不需要渲染所有對象。加載內容後,對象數會增加,「gapi.plus.go()」將加載很長,並且會滯後。 –
在這種情況下,使用gapi.plus.render(div)但像Gus一樣在其示例觸發器中顯示在正確的時間,無論是點擊還是加載動態內容之後。您將需要保留這些語法標籤:顯式設置。 – BrettJ