Возвращение JavaScript в window.onbeforeunload не работает в Chrome - PullRequest
2 голосов
/ 21 февраля 2012

Я пишу кусок Javascript, который останавливает таймер, когда он работает (active == 1) и окно закрыто, ссылка нажата, ...

Я решил использовать окноФункция .onbeforeunload, которая прекрасно работает в IE и FF, но не в Chrome.

Когда я закрываю окно, когда в Chrome запущен таймер, я получаю предупреждение о том, что я покидаю страницу с помощью "«false» отображается над этим.

Вот соответствующий код:

function SetEndTimeOnClose(lngPersonID,lngToDoID){
if(active == 1){
    var answer = confirm("Wil je de tijd stoppen?");
    if (answer){        
        try{
            StopStopwatch();
            SetEndTime(lngPersonID,lngToDoID);
        }
        catch(err){
        };
        return true;    
    }
    else{
        return false;
    }
}
}

window.onbeforeunload = function(){
    return SetEndTimeOnClose(<%=lngOpenPersonID%>,<%=lngToDoID%>);
}

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

Это работает для меня: http://jsfiddle.net/PQz5k/

1 голос
/ 21 февраля 2012

Согласно MDN вам необходимо вернуть строку, которая будет отображаться в диалоговом окне подтверждения.

...