2014-04-03 48 views
1

我目前有一個網站,包括我正在創建的社交網絡小工具上的Google分享按鈕(以及Facebook和Twitter)。我想要做的是能夠在textarea字段中輸入一些文本,並在按下「發送」按鈕時,文本被分享到Google+用戶的牆上(我已經有Facebook和Twitter的帖子可以工作)。現在我知道Google +的共享按鈕有一個名爲「data-prefilltext」的字段,這是我試圖用textarea中的消息設置的字段。當我按下「發送」按鈕時,我可以看到「數據預填文本」字段值的變化,但在彈出窗口中,我看不到文本更改。下面是代碼:谷歌分享按鈕動態設置數據預充文本

HTML:

<div id="googleplus-selector" title="App is what's new! Share it with your circles in Google+" 
    class="social-networking-icons g-interactivepost" 
    data-contenturl="http://plus.google.com/pages/" 
    data-contentdeeplinkid="/pages" 
    data-clientid="clientid.apps.googleusercontent.com" 
    data-scope="https://www.googleapis.com/auth/youtube.readonly" 
    data-cookiepolicy="single_host_origin" 
    data-prefilltext="Share App with your circle of friends now!" 
    data-calltoactionlabel="TRY_IT" 
    data-calltoactionurl="http://plus.google.com/pages/" 
    data-calltoactiondeeplinkid="/pages/create" 
    data-href="http://mysiteurl"> 
     <div class="widget-mask"></div> 
</div> 

的Javascript/jQuery的:

var textElement = $('#social-message-text'); 
var text = textElement.val(); 
$('#google-plus-share-button').attr('data-prefilltext', text); 

就像我說的,我可以看到在檢查屬性值變化螢火蟲或谷歌的開發者控制檯中的元素但是,當打開Goog​​le共享彈出窗口時,文本中的更改不會反映出來。

任何幫助將不勝感激,因爲我現在有點難住。提前感謝大家。

+0

找到任何解決方案? – movsky

回答

-1

你可以渲染JavaScript的按鈕,下一個代碼示例:

var options = { 
       contenturl: 'https://dev.diesocialisten.at/google+/?v=5', 
       clientid: 'YOUR CLIENT ID', 
       cookiepolicy: 'single_host_origin', 
       prefilltext: 'Developers, you should check this out!', 
       calltoactionlabel: 'LEARN_MORE', 
       calltoactionurl: 'https://dev.diesocialisten.at/google+/?v=5' 
}; 
gapi.interactivepost.render('share-button', options); //button with the ID share-button 
1

我也有面臨同樣的problem.After長期鬥爭中,我發現我solution.I用U分享答案。

<html> 
    <head> 
    <title>Share Demo: Deferred execution with language code</title> 
    <link rel="canonical" href="http://www.example.com" /> 
    </head> 
    <body> 
    <script> 
    window.___gcfg = { 
      lang: 'en-US', 
      parsetags: 'explicit' 
      }; 
    </script> 
    <script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script> 
    <div id ="sharePost">Share</div> 
<script> 
    (function() { 
      var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
      po.src = 'http://apis.google.com/js/client:plusone.js'; 
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     })(); 
    var options = { 
       contenturl: 'http://www.google.com', 
       contentdeeplinkid: '/pages', 
       clientid: 'xxxxxxxxxxxxx.apps.googleusercontent.com', 
       cookiepolicy: 'single_host_origin', 
       prefilltext: 'Hai happy friday', 
       calltoactionlabel: 'INVITE', 
       calltoactionurl: 'http://www.google.com' 
       }; 
       // Call the render method when appropriate within your app to display 
       // the button. 
       gapi.interactivepost.render('sharePost', options); 

     </script> 
    </body> 
</html> 

當你從ajax獲得響應時,你必須在ajax響應後再次調用google plus共享js文件。