Чтобы избежать раздражения пользователей, вы, вероятно, захотите, чтобы состояние было изменяемым, в зависимости от того, выполняется ли операция. Примерно так:
window.beforeunload = function(){
if(isPerformingOperation) {
return 'Are you sure you want to leave?';
}
}
Установите для isPerformingOperation
значение true, если вы хотите запросить их, и выключите его, когда закончите.