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

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

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

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

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

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

2 ответа

Посмотрите на 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);

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

Посмотрите эту ссылку, возможно, ответ, который вы ищете,

Восстановление состояния AtmosphereResource между переподключением https://github.com/Atmosphere/atmosphere/wiki/Recovering-AtmosphereResource-State-between-reconnection

Другие вопросы по тегам