Как возобновить соединение с атмосферой, когда пользователь отменяет закрытие окна браузера

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

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

Мы используем атмосферу для GWT, и мы пытались использовать параметр возобновления трансляции на ресурсе, но безуспешно.

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

Так может кто-нибудь помочь, большое спасибо.


person Lopakhin    schedule 10.03.2013    source источник


Ответы (1)


Взгляните на обработчик запросов onClose(AtmosphereResponse).

var socket = $.atmosphere;
var request = new $.atmosphere.AtmosphereRequest();

request.onClose(response){
    //handle the close here
}
var subSocket = socket.subscribe(request);
subSocket.push(data);

Это задокументировано здесь. Это на стороне клиента.

person Bizmarck    schedule 11.03.2013
comment
Ну, это может работать для реализации jquery, но для нашего случая используется GWT, и, возможно, нет эквивалентного аналога. - person Lopakhin; 16.03.2013