У меня тесты есть, который идет таймер и результат высвечивается в модальном окне. Если использовать данный пример который в интернете много говориться,
function Unloader(){
var o = this;
this.unload = function(evt)
{
var message = "Вы уверены, что хотите покинуть страницу оформления заказа?";
if (typeof evt == "undefined") {
evt = window.event;
}
if (evt) {
evt.returnValue = message;
}
return message;
}
this.resetUnload = function()
{
$(window).off('beforeunload', o.unload);
setTimeout(function(){
$(window).on('beforeunload', o.unload);
}, 2000);
}
this.init = function()
{
$(window).on('beforeunload', o.unload);
$('a').on('click', function(){o.resetUnload});
$(document).on('submit', 'form', function(){o.resetUnload});
$(document).on('keydown', function(event){
if((event.ctrlKey && event.keyCode == 116) || event.keyCode == 116){
o.resetUnload;
}
});
}
this.init();
}
$(function(){
if(typeof window.obUnloader != 'object')
{
window.obUnloader = new Unloader();
}
})
То у меня выходит при редиректе тоже включается данное подтверждение, но как этого избежать и включался когда он покидает сайт не прошедшего тест.
Если не понятно то когда он еще проходит тест в этом случае чтобы было подтверждение на обновление, а когда тест закончился и таймер не тикает допустим срок истек ответил на все вопросы, то не было подтверждение на обновление страницы