咨询

2011-08-19 57 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非常灵活,并且有一些代码可以使用它。祝你的节目顺利。 –