我正嘗試創建一個Facebook Connect應用程序,該應用程序使用Facebook的Javascript API(通過FBMLPopupDialog)在頁面內顯示朋友邀請對話框。Facebook連接顯示邀請朋友對話框並在完成時關閉
問題是顯示一個朋友邀請對話框,您使用多朋友表單,該表單需要一個action =「url」屬性,該屬性表示在用戶完成或跳過表單時將頁面重定向到的URL。問題是我只想關閉FBMLPopupDialog(就像用戶剛剛點擊彈出對話框上的'X'按鈕一樣)。我能做的最好的事情是將用戶重定向到他們基本上正在重新加載的頁面,但他們會丟失所有的AJAX/Flash應用程序狀態。
我想知道是否有任何Facebook Connect開發者遇到了這個問題,並有一個很好的方式來簡單地在他們的網站中顯示一個朋友邀請「燈箱」對話框,他們不想「刷新」或「重定向」當用戶完成時。
facebook connect JS API提供了一個FB.Connect.inviteConnectUsers,它提供了一個很好的對話框,但只連接了您的應用程序的現有用戶,他們也有一個Facebook帳戶並且沒有連接。
http://bugs.developers.facebook.com/show_bug.cgi?id=4916
function fb_inviteFriends() {
//Invite users
log("Inviting users...");
FB.Connect.requireSession(
function() { //Connect succes
var uid = FB.Facebook.apiClient.get_session().uid;
log('FB CONNECT SUCCESS: ' + uid);
//Invite users
log("Inviting users...");
//Update server with connected account
updateAccountFacebookUID();
var fbml = fb_getInviteFBML() ;
var dialog = new FB.UI. FBMLPopupDialog("Weblings Invite", fbml) ;
//dialog.setFBMLContent(fbml);
dialog.setContentWidth(650);
dialog.setContentHeight(450);
dialog.show();
},
//Connect cancelled
function() {
//User cancelled the connect
log("FB Connect cancelled:");
}
);
}
function fb_getInviteFBML() {
var uid = FB.Facebook.apiClient.get_session().uid;
var fbml = "";
fbml =
'<fb:fbml>\n' +
'<fb:request-form\n'+
//Redirect back to this page
' action="'+ document.location +'"\n'+
' method="POST"\n'+
' invite="true"\n'+
' type="Weblings Invite"\n' +
' content="I need your help to discover all the Weblings and save the Internet! WebWars: Weblings is a cool new game where we can collect fantastic creatures while surfing our favorite websites. Come find the missing Weblings with me!'+
//Callback the server with the appropriate Webwars Account URL
' <fb:req-choice url=\''+ WebwarsFB.WebwarsAccountServer +'/SplashPage.aspx?action=ref&reftype=Facebook' label=\'Check out WebWars: Weblings\' />"\n'+
'>\n'+
' <fb:multi-friend-selector\n'+
' rows="2"\n'+
' cols="4"\n'+
' bypass="Cancel"\n'+
' showborder="false"\n'+
' actiontext="Use this form to invite your friends to connect with WebWars: Weblings."/>\n'+
' </fb:request-form>'+
' </fb:fbml>';
return fbml;
}
正確邀請的形式顯示和我很確定我的xd_receiver安裝正確。這只是跳過或完成時邀請表單的行爲而導致整個頁面刷新,而不僅僅是關閉FBMLPopupDialog。 – Dougnukem 2009-11-24 00:23:17
我有類似的問題,我所做的是,我把xd_receiver.html文件的網站的根和問題解決了,即對話框關閉正確 – Sarfraz 2009-11-24 05:42:42