У меня есть простой сценарий javascript, чтобы предупредить людей о необходимости сохранить свою работу до истечения времени ожидания. Я настроил его так, чтобы через 10 минут он получал оповещение, а через 15 минут (или через 5 минут после 10) он получал еще одно оповещение и отправлял домашнюю страницу.
Первое предупреждение работает, но не может заставить работать второе и второе перенаправление.
var countDownDate = new Date().getTime();
function startTimer() {
var timerID = window.setTimeout(sendfirstAlert, 10 * 60 * 1000 );
}
function sendfirstAlert() {
var now = new Date().getTime();
var dtay = new Date().toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3");
var distance = now - countDownDate;
alert("Your Session will expire in 5 minutes, please save your work. It's currently ( " + dtay + ")");
var sesnow = new Date().getTime();
var newdistance = (sesnow - now ) ;
var newdistance2 = (newdistance / 60 ) / 1000 ;
if (newdistance2 > 5) {
window.location = "https://www.hompage.com";
alert("It has been over 5 minutes since you were alerted. Your session has timed out and you will be redirected to the Home page.");
}
}
На странице есть
startTimer ();
ОБНОВЛЕНИЕ: Очевидно, это работает в IE, но не полностью функционально в chrome. Это работает в Chrome, когда я проверяю страницу (разработчик), но не тогда, когда я не использую опцию просмотра страницы. (Просмотр если нормальный)