我有一個Facebook的按鈕/小部件,微博部件,Google+小部件和一個錨標籤在同一頁上。Facebook Like Button Breaks其他社交小工具和錨
如果Facebook的按鈕被刪除一切正常。
如果顯示Facebook like按鈕,則類似按鈕可以工作,但包括簡單錨定標記的所有其他小部件都不會。
有什麼理由不應該這樣做?
的Facebook SDK經由jquery的異步加載
$('body').prepend('<div id="fb-root"></div>');
$.getScript('http://connect.facebook.net/en_US/all.js')
.done(function(script, textStatus) {
// Initialize Facebook javascript SDK.
window.fbAsyncInit = function() {
FB.init({
appId : settings.appId,
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
initSocialWidgets();
initFacebookPlugins();
};
})
.fail(function(jqxhr, settings, exception) {
});
的widget HTML是插入動態使用jquery。
// Facebook.
script = '<div class="fb-like" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true"></div>';
$('#facebook-widget-container').append(script);
// Twitter.
script = '<a href="https://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="ezoetic">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script>';
$('#twitter-widget-container').append(script);
// Google.
script = '<div class="g-plusone" data-size="medium"></div><script type="text/javascript"> (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); })();</script>';
$('#google-widget-container').append(script);
您是否檢查過控制檯中的JS錯誤?如果您在Chrome上進行測試,請按Ctrl + Shift + I並點擊控制檯。發佈您找到的任何錯誤。 – 2012-02-04 19:44:21
嘗試在$ .getScript()之前的initSocialWidgets()// FYI http://techcrunch.com/2012/02/03/facebook-javascript-api-goes-down-taking-down-likes-comments-and-apps -with-it/ – 2012-02-04 19:57:55
沒有控制檯錯誤,移動initSocialWidgets()函數沒有什麼區別。 – 2012-02-05 02:50:00