Как я могу заблокировать, пока пользователь не нажмет «закрыть» на FB.Connect.logout? - PullRequest
0 голосов
/ 17 июля 2009

У меня есть некоторый HTML, который выглядит так:

<a onclick="FB.Connect.logout(function() { window.location = '/'; });">
  link text
</a>

logout вызывает модальный режим, который сообщает пользователю, что он выходит из Facebook, и имеет кнопку «Закрыть» в правом нижнем углу. К сожалению, браузер переходит к '/' для функции обратного вызова. Как я могу предотвратить это, чтобы у пользователя было достаточно времени, чтобы прочитать, что в диалоге?

Кроме того, кнопка закрытия кажется бесполезной, так как она сдувается, когда вызывается обратный вызов, поэтому я чувствую, что что-то там упускаю ...

PS: Это похоже на длинный выстрел, но я бы хотел, чтобы пользователь мог остановить процесс выхода из системы, если необходимость выхода из fb передумает. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 22 июля 2009

Если вы выполняете действие вместо того, чтобы идти в какое-либо место, я бы рекомендовал использовать элемент <button>.

с прототипом:

<button id="button-logout" value="Logout" />

function finishLogout(isLoggedOut){
    if (isLoggedOut) {
      location.href = "/goodbye";
    }
}

function beginLogout(){
   //preparation if necessary.
   FB.Connect.logout(finishLogout); 
}

$('button-logout').observe('click', beginLogout);

Всегда лучше, чтобы ваши события были в javascript, а не внутри клика по вашему тегу. И хотя я сделал две отдельные функции, их легче пересмотреть и использовать позже, и вы всегда можете минимизировать их, если хотите оптимизировать.

0 голосов
/ 17 июля 2009

Вы пробовали знак фунта? # Это говорит браузеру перенаправить на привязку к странице .. и вообще никуда не перенаправляет. Это может работать для вас!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...