У нас одна проблема с Facebook.
мы интегрировали FB в наше веб-приложение, когда пользователь входил через fconnect в наше веб-приложение, а затем он регистрировался в нашей системе (только в первый раз), просто предоставив свой электронный идентификатор. Для обычного пользователя несколько пользователей i / p для регистрации в нашей системе
Наше веб-приложение разработано на Java [GWT2.0].
Проблема в том, что FACEBOOK или normaluser регистрируются через FB в нашем веб-приложении. (1 за раз)
когда пользователь обновляет страницу, всплывающее окно FB появляется с сообщением
"Отладка: исключение при загрузке FB.apiClient TypeError: $ wnd.FB.Facebook не определено"
или иногда $ wnd.FB.Facebook.apiClient равен нулю встречается
мы получаем выше сообщение об ошибке [всплывающее] 3 раза.
мы использовали следующий скрипт на html странице
Только на 1 странице нашего веб-приложения, т.е. на странице UserHome, где мы отображаем информацию о пользователях.
на этой странице только выше появляется сообщение об ошибке
Мы использовали следующий код GWT [от Gwittit] В классе контроллера [класс Singleton]
/ **
* Функция вызывается, когда загружаются все данные на первой странице.
*
* * /
public void notifyFinishedLoadinPage () {
FacebookConnect.waitUntilStatusReady (новый
RenderAppWhenReadyCallback ());
}
приватный MyLoginCallback
loginCallback = new MyLoginCallback ();
class MyLoginCallback implements LoginCallback {
public void onLogin() {
isFacebookSign = true;
fbLoggedInUserId = ApiFactory.getInstance().getLoggedInUser();
for (FacebookObserver Observer : facebookObservers) {
Observer.notifyFacebookLogin(true);
}
}
}
public void publishStream(final FacebookObserver fbObserver) {
FacebookConnect.init(FacebookConstants.FACEBOOK_API_KEY,
"xd_receiver.htm", loginCallback);
FacebookConnect.requireSession(new
AsyncCallback () {
public void onFailure(Throwable caught) {
Window.alert("Require session failed: " + caught);
GWT.log("Require session failed: " + caught, null);
}
public void onSuccess(Boolean isLoggedIn) {
if (isLoggedIn) {
for (FacebookObserver Observer :
facebookObservers) {
Observer.notifyPublishStream ();
}
}
}
});
}
public void facebookConnection() {
FacebookConnect.init(FacebookConstants.FACEBOOK_API_KEY,
"xd_receiver.htm", loginCallback);
// SERVER
FacebookConnect.requireSession (новый
AsyncCallback () {
public void onFailure(Throwable caught) {
GWT.log("Require session failed: " + caught, null);
}
public void onSuccess(Boolean isLoggedIn) {
if (loginCallback != null && isLoggedIn) {
loginCallback.onLogin();
} else {
//User not logged in
}
}
});
}
/**
* Fired when we know users status
*/
private class RenderAppWhenReadyCallback implements
AsyncCallback {
public RenderAppWhenReadyCallback() {
FacebookConnect.init(FacebookConstants.FACEBOOK_API_KEY,
"xd_receiver.htm", loginCallback);
// SERVER
}
public void onFailure(Throwable caught) {
Window.alert("Unable to login through Facebook: " + caught);
}
public void onSuccess(ConnectState result) {
if (result == ConnectState.connected) {
isFacebookSign = true;
for (FacebookObserver Observer : facebookObservers) {
Observer.notifyFacebookLogin(true);
}
//History.newItem(HistoryConstants.USERHOME_PAGE_HISTORY_TOKEN);
} else {
//rightSideFlexTable.clearCell(0, 0);
//rightSideFlexTable.setWidget(0, 0,
facebookPanel);
isFacebookSign = false;
}
}
};
Теперь мы не смогли найти решение этой проблемы.
Может ли кто-нибудь помочь нам решить эту проблему КАК МОЖНО СКОРЕЕ
Надежда на лучшее сотрудничество