Javascript setTimeout на iOS Safari
Я работаю над небольшим сценарием, который предупреждает пользователя о том, что время его сеанса истекло, и его / ее изменения могут не сохраниться.
В любом браузере это работает довольно хорошо, и я реализовал решение, которое просто использует setTimeout для запуска диалогового окна через определенное время (если пользователь не выполняет определенные промежуточные действия).
Однако в iOS Safari этот подход не работает, так как setTimeout "останавливается", когда пользователь переходит к другому приложению на своем телефоне. Как только пользователь снова открывает Safari и возвращается на страницу, таймер продолжает работать с того места, где он остановился, вместо того, чтобы смотреть на общее время, которое истекло.
Любые предложения о том, как приблизиться к предупреждению о превышении времени ожидания сеанса, которое не ломается на iPhone?
1 ответ
// get a date object
var today = new Date();
// ask the object for some information
var hours = today.getHours();
var minutes = today.getMinutes();
var seconds = today.getSeconds();
var theHour = today.getHours();
Отказ от ответственности: обрабатывать случай, когда пользователь возвращается и сеанс завершен.