Я собираюсь выйти на конечность и сказать, что с этой функцией нет проблем, но вместо этого с тем, что вы ожидаете от onbeforeunload
.Я полагаю, вы ожидаете, что если браузер закрыт или пользователь уходит со страницы, он выполнит событие onbeforeunload, что, к сожалению, не так, или, по крайней мере, оно не будет согласованным.
ЛучшееЧтобы гарантировать, что пользователь вышел из системы, когда у него больше не открыт браузер, вместо этого используется ajax для вызова сервера каждые несколько секунд.Если вызов сделан, то успешно обновите сеанс, если он не был успешным, тогда вам не о чем беспокоиться, потому что сеанс автоматически истечет через некоторое время.