Only prevent unload the first time it is attempted

This commit is contained in:
Kevin Sawicki 2016-08-03 12:44:18 -07:00
Родитель 916920844e
Коммит cce6be1900
3 изменённых файлов: 19 добавлений и 3 удалений

7
spec/fixtures/api/beforeunload-false.html поставляемый
Просмотреть файл

@ -1,11 +1,16 @@
<html>
<body>
<script type="text/javascript" charset="utf-8">
// Only prevent unload on the first window close
var unloadPrevented = false;
window.onbeforeunload = function() {
setTimeout(function() {
require('electron').remote.getCurrentWindow().emit('onbeforeunload');
}, 0);
return false;
if (!unloadPrevented) {
unloadPrevented = true;
return false;
}
}
</script>
</body>

Просмотреть файл

@ -1,11 +1,17 @@
<html>
<body>
<script type="text/javascript" charset="utf-8">
// Only prevent unload on the first window close
var unloadPrevented = false;
window.onbeforeunload = function() {
setTimeout(function() {
require('electron').remote.getCurrentWindow().emit('onbeforeunload');
}, 0);
return '';
if (!unloadPrevented) {
unloadPrevented = true;
return '';
}
}
window.close();
</script>

Просмотреть файл

@ -1,11 +1,16 @@
<html>
<body>
<script type="text/javascript" charset="utf-8">
// Only prevent unload on the first window close
var unloadPrevented = false;
window.onbeforeunload = function() {
setTimeout(function() {
require('electron').remote.getCurrentWindow().emit('onbeforeunload');
}, 0);
return false;
if (!unloadPrevented) {
unloadPrevented = true;
return false;
}
}
window.close();
</script>