2012-09-12 23 views
2

我想有FB像按鈕,Twitter的鳴叫按鈕和G +相當於使用JQuery Mobile和不放棄的AJAX轉換建立了一個網站的每一頁上。jQuery Mobile的使用AJAX和Facebook一樣,Twitter的鳴叫G +

我可以得到它的多頁工作(聯example0.html#1〜#example0.html 2和背面)

我可以得到工作的自定義基本的JavaScript(如警報( '*');)以運行正確的時間(每頁顯示一次,example1.html < - > example2.html)。使用jQuery .off和.on。

我能完成它關掉了ajax。工程確定example1.html的< - > example2.html

但是,不能得到很好的使用AJAX和更多的單頁的社交按鈕。按鈕應顯示在每個頁面上,例如example1.html的< - > example2.html

任何工作任何社交按鈕的例子嗎?

(類似的問題,但是還沒有工作例如:Integrating jQuery Mobile with Facebook Like and Twitter Tweet

完整的示例,適用於1日(加載)頁面,不爲別的一個。

<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Title</title> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script> 
</head> 
<body> 

<div data-role="page" id="page1" data-title="Page 1"> 
    <div id="fb-root"></div> 
    <script>(function(d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) return; 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=121542504547391"; 
     fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 
    </script> 
    <div class="fb-like" data-href="http://localhost" data-send="false" data-layout="button_count" data-width="250" data-show-faces="false"></div> 
    <a href="#page2" data-role="button" data-icon="arrow-r" data-iconpos="right">Page 2</a> 
</div> 

<div data-role="page" id="page2" data-title="Page 2"> 
    <div id="fb-root"></div> 
    <script>(function(d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) return; 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=121542504547391"; 
     fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 
    </script> 
    <div class="fb-like" data-href="http://localhost" data-send="false" data-layout="button_count" data-width="250" data-show-faces="false"></div> 
    <a href="#page1" data-role="button" data-icon="arrow-l">Page 1</a> 
</div> 

</body> 
</html> 

+0

您還沒有發佈任何代碼,如何才能修復建議不知道要解決什麼 – Jasper

回答

2

Garyv已經給你Facebook的正確答案:

FB.XFBML.parse(); 

重新加載鳴叫按鈕dinamically,你正在尋找的功能是:

twttr.widgets.load(); 

你應適用函數在你通過ajax加載你的內容之後。

UPDATE:

按了Google+按鈕,答案是:

gapi.plusone.go(); 

(在這裏找到它:Google plus-one button on a page that is refreshed with AJAX

+0

'gapi.plusone.go();?'現在'gapi.plus.go();' – iautomation

4

在鳴叫按鈕嵌入代碼,有一個if語句檢查用id「Twitter的WJS」的元素。在頁面加載之前刪除此元素使推文按鈕正常工作。

$(document).bind('pagebeforeload', function(){ 
    $('#twitter-wjs').remove(); 
}); 

下面是Facebook like按鈕的修復方法。我不會假裝理解它,我只是發現這個谷歌搜索,它似乎使它的工作。

$(document).bind('pageshow', function() { 
    try{ 
     FB.XFBML.parse(); 
    } catch(err){} 
});