Я хочу завершить разговор, когда пользователь вводит URL-адрес в адресной строке браузера.
Может ли это быть достигнуто с помощью Javascript (например, с помощью onbeforeunload)?Но как остановить разговор через javascript?
Вы можете использовать JavaScript для реализации события onbeforeunload
и использовать AJAX, чтобы сообщить пользователю, выходящему на сайт, и завершить все ваши разговоры.Тем не менее, я не рекомендую вам это решение, потому что вы не можете полагаться на событие, происходящее в браузере, Javascript не является хорошим вариантом, так как вы можете отключить его на стороне клиента (не только это, но браузер может дать сбой, сетьсоединение может оборваться и т. д.)
Я думаю, что альтернативный подход для этого - установить на сервере шов conversation timeout
.Вы можете попытаться сократить время ожидания, чтобы быстрее закрывать неактивный разговор, когда пользователь покидает вашу страницу.
Настройка периода ожидания разговора может быть выполнена с помощью следующего в components.xml
:
<core:manager conversation-timeout="700000" />
Обратите внимание, что тайм-аут разговора влияет только на background
разговоров, foreground
разговор будет только по истечении времени ожидания сеанса, что соответствует вашим требованиям.
Более подробную информацию об истечении времени разговора можно найти в этой статье .