諮詢

2011-08-19 80 views
1

我完全糊塗了Facebook的對話框飼料,共享者和喜歡按鈕(我是一個小白Facebook和它的專業術語)諮詢

在我的網站,我會像下面

  • 有在頁面頂部的按鈕,在這裏人們可以分享我的網站到他們的牆上
  • 有頁面上的一個按鈕,用戶可以分享他們的主要網頁在我的網站上EIR牆
  • 有一個按鈕,用戶可以分享他們的(事件)的單個項目到他們的牆上

我讀過共享方按鈕優先被淘汰的Like按鈕,但我查看Like按鈕的問題。我認爲只能喜歡一次。用戶的事件可能要多次共享(以提醒他們的Fb用戶該事件)

我見過BBC使用對話框按鈕將項目發佈到牆上,而且看起來不錯,但我無法讓彈出窗口工作。

我的要求是爲我提到的三種場景中的每一種設置不同的鏈接,併爲每個場景分別描述不同的描述,但共享我網站的徽標。

我讀過這麼多,我現在完全困惑,再加上Fb所有的API。這只是瘋狂的(或者這就是我的看法)

如果有人可以幫助清除霧與聲音建議和每個按鈕的一些示例代碼,我將非常感激。

謝謝。

回答

2

對於你所說的你想要使用的飼料對話框。它非常靈活,您只需設置鏈接並傳遞一些變量即可。我沒有看到您提到的Feed對話框正在被逐漸淘汰,它們的用途各不相同。我認爲他們推動了這種方式,因爲它更容易使用,並且不太可能被濫用。

您需要註冊一個應用程序,並確保在調用下面的函數之前初始化Facebook JavaScript SDK。如果您的彈出窗口有問題,可能是由於您的FB init進程存在問題。我已經添加了第二個用於初始化Facebook的函數。這兩個函數都使用jQuery,所以如果你不使用它,你可能需要修改。

您可以創建這樣一個非常通用的功能:

$.shareMe = function(myName, myLink, myPicture, myCaption) { 

FB.ui(
    { 
    method: 'feed', 
    name: myName, 
    link: myLink, 
    picture: myPicture, 
    caption: myCaption 

    }, 
    function(response) { 
    if (response && response.post_id) { 
     alert('Thanks for Sharing.'); 
    } else { 
     alert('Post was not published.'); 
    } 
    } 
); 



} 

和Facebook的初始化:

$.initFacebook = function(options){ 

$('#fb-root').remove(); 

$('body').append('<div id="fb-root"></div>'); 

var settings = { 

    'appId'  : null, 
    'callback' : null, 
    'channelUrl' : null, 
    'status'  : true, 
    'cookie'  : true, 
    'xfbml'  : true 

}; 

if (options) { 
    $.extend(settings, options); 
} 

if(typeof(xc_app_id) == 'undefined') { window.xc_app_id = settings.appId; } 

window.fbAsyncInit = function() { 

    if(settings.channelUrl==null) { 

     FB.init({appId: settings.appId, status: settings.status, cookie: settings.cookie, xfbml: settings.xfbml, oauth: true, authResponse: true }); 

    } else { 

     settings.channelUrl=location.protocol+'//'+settings.channelUrl; 

     FB.init({appId: settings.appId, status: settings.status, cookie: settings.cookie, xfbml: settings.xfbml, oauth: true, authResponse: true, channelUrl: settings.channelUrl }); 
    } 

    if(typeof settings.callback == 'function'){ settings.callback.call(this); } 

}; 

(function() { 
var e = document.createElement('script'); 
e.async = true; 
e.src = '//connect.facebook.net/en_US/all.js'; 
document.getElementById('fb-root').appendChild(e); 
}()); 

} 

,並調用它,你只需要使用$ .initFacebook({APPID, 'yourAppId' });如果需要,還可以在文檔中查找其他選項。

+0

乾杯的人。張貼後,我走了很長一段路,想了解我讀過的內容。我決定,提要是用戶可能擁有的不同活動的最佳方式,並且可以將其主頁發佈到牆上。爲了將我的網站發佈到他們的牆上,我會和Like一起去。我會看看這一切如何解決。感謝代碼。最有用的。是的,我已經有一個ID,我使用JQuery。 – ants

+0

該Feed非常靈活,並且有一些代碼可以使用它。祝你的節目順利。 –