對於你所說的你想要使用的飼料對話框。它非常靈活,您只需設置鏈接並傳遞一些變量即可。我沒有看到您提到的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' });如果需要,還可以在文檔中查找其他選項。
乾杯的人。張貼後,我走了很長一段路,想了解我讀過的內容。我決定,提要是用戶可能擁有的不同活動的最佳方式,並且可以將其主頁發佈到牆上。爲了將我的網站發佈到他們的牆上,我會和Like一起去。我會看看這一切如何解決。感謝代碼。最有用的。是的,我已經有一個ID,我使用JQuery。 – ants
該Feed非常靈活,並且有一些代碼可以使用它。祝你的節目順利。 –