Могу ли я перенаправить браузер, если пользователь нажмет «Не разрешать»?

Я реализовал вход через Facebook на веб-сайт, используя Javascript API и FBML.

Когда пользователь нажимает «Войти», вводит свои учетные данные во всплывающее окно, переходит к следующему этапу и нажимает «Не разрешать» при запросе разрешений, окно просто закрывается, и больше ничего не происходит.

Я хочу изменить его так, чтобы при закрытии окна браузер перенаправлялся на URL-адрес по моему выбору.

Возможно ли это с моей текущей настройкой, используя Javascript API?


person Jonathan    schedule 12.04.2011    source источник


Ответы (1)


Я предполагаю, что вы имеете в виду XFBML, поскольку вы не можете использовать ничего, кроме FBJS, в FBML. Этот код взят из документации FB.login:

FB.login(function(response) {
  if (response.session) {
    // user successfully logged in
  } else {
    // user cancelled login
  }
});

Что бы ни происходило в этом блоке else, это то, что происходит, если вы не получили авторизацию. top.location.href будет там работать.

person Jimmy Sawczuk    schedule 12.04.2011
comment
Работает нормально, за исключением того, что я не могу отличить пользователя, нажимающего «Не разрешать», или пользователя, просто закрывающего всплывающее окно. Было бы здорово, если бы у меня была другая логика, если бы они нажали «Не разрешать». Но в любом случае, этот фрагмент кода очень полезен, так что спасибо! - person Jonathan; 12.04.2011
comment
Я понимаю вашу точку зрения, но я бы сказал, что на самом деле нет большой разницы в любом случае. Всплывающее окно не закрывается случайно; пользователь закрывает его с намерением больше его не видеть. Если вы видите это и делаете вывод, что они не нажимали «Не разрешать», позвольте мне спросить их еще раз, чтобы убедиться, что у вас будут недовольные пользователи. - person Jimmy Sawczuk; 12.04.2011