Я уверен, что кто-то сталкивался с этой проблемой раньше, я просто не смог найти что-нибудь по этому вопросу. В любом случае, вот сценарий.
У меня есть веб-сайт PHP, на который пользователь будет входить, затем его учетная запись задается как переменная сеанса, а затем, когда он входит в нее, он в основном работает как одностраничное приложение. Идентификатор учетной записи сеанса предназначен для отслеживания их действий, поскольку они выполняют разные функции в приложении.
Сайт будет доступен в основном на мобильных устройствах. У меня есть PHP, который устанавливает длительность тайм-аута сеанса, а затем с помощью JS выдает всплывающее предупреждение за пару минут до истечения тайм-аута. Затем по истечении времени ожидания, используя метаобновление, он перенаправляет их обратно на страницу входа.
На рабочем столе это все работает как положено. На мобильном он ведет себя по-другому. На мобильном устройстве пользователь может войти в систему, сделать что-то на странице, а затем, не выходя из системы, положить свой телефон в карман и не возвращаться к нему в течение пары часов. Когда они открывают браузер, он удерживает их на той странице, на которой они находились, но JS, очевидно, не работал в то время, когда их телефон спал или что-то еще, что они делали в промежутке. Мета-обновление также не работает должным образом, но время сеанса истекло. Поэтому, когда они открывают приложение и пытаются что-то сделать, я получаю ошибки в БД, говорящие, что id не может быть пустым.
Я могу использовать ajax, чтобы проверить, существует ли их сеанс при каждом нажатии кнопки, но для скорости приложения я предпочел бы не делать этого.
Кто-нибудь еще сталкивался с этим и нашел решение для автоматического выхода людей из одностраничных приложений, просматриваемых на мобильном устройстве?
Задача ещё не решена.
Других решений пока нет …