Мне нужно открыть вкладку браузера и очистить сеанс, используя вызов AJAX.Обнаружение вкладки браузера закрытие события Очистить сеанс php
window.onbeforeunload
обнаруживает только при перезагрузке страницы.
Мне нужно открыть вкладку браузера и очистить сеанс, используя вызов AJAX.Обнаружение вкладки браузера закрытие события Очистить сеанс php
window.onbeforeunload
обнаруживает только при перезагрузке страницы.
Вы пробовали этот код?
window.onbeforeunload = function (event) {
var message = 'Important: Please click on \'Save\' button to leave this page.';
if (typeof event == 'undefined') {
event = window.event;
}
if (event) {
event.returnValue = message;
}
return message;
};
$(function() {
$("a").not('#lnkLogOut').click(function() {
window.onbeforeunload = null;
});
$(".btn").click(function() {
window.onbeforeunload = null;
});
})
; Вторая функция необязательна, чтобы избежать запроса при нажатии на элементы #lnkLogOut и .btn.
Еще одна вещь. Пользовательская подсказка не работает в Firefox (даже в последней версии). Для получения дополнительной информации об этом, пожалуйста, перейдите к этой теме.
Это работает при перезагрузке страницы не при закрытии вкладки браузера. – Vijayakumar
Я предлагаю вам создать сеанс на основе активности, если сеанс не выполняется какой-либо операции в течение определенного времени, а затем просто очистите сеанс, его лучший и рекомендуемый подход. –
Думаю, вам нужно выполнить вызов AJAX при выгрузке. Но сервер должен ответить, прежде чем окно будет закрыто. – Atticweb
** onbeforunload ** не является подходящим событием для вашей цели, потому что он выполняется каждый раз, когда вы покидаете свою страницу. , пожалуйста, следуйте https://eureka.ykyuen.info/2011/02/22/jquery-javascript-capture-the-browser-or-tab-closed-event/, чтобы получить свою цель. –