It appears that with the latest release of Chrome (Version 73.0.3683.103 (Official Build) (64-bit)), window onunload event handler isn't being called.
In the latest version of Chrome, my onunload anonymous function seems unreachable.
I'm following MDN Web Docs ().
window.addEventListener('unload', function (e) {
console.log('It worked');
debugger;
});
When I run developer tools in each browser, my snippet of code in Chrome Version 66.0.3359.117, and in Firefox 66.x pauses on the debugger breakpoint as expected when refreshing the window or clicking the back/forward button. Exiting out of the tab, or pletely closing the browser works as expected.
It appears that with the latest release of Chrome (Version 73.0.3683.103 (Official Build) (64-bit)), window onunload event handler isn't being called.
In the latest version of Chrome, my onunload anonymous function seems unreachable.
I'm following MDN Web Docs (https://developer.mozilla/en-US/docs/Web/API/WindowEventHandlers/onunload).
window.addEventListener('unload', function (e) {
console.log('It worked');
debugger;
});
When I run developer tools in each browser, my snippet of code in Chrome Version 66.0.3359.117, and in Firefox 66.x pauses on the debugger breakpoint as expected when refreshing the window or clicking the back/forward button. Exiting out of the tab, or pletely closing the browser works as expected.
https://codepen.io/anon/pen/jRxJxJ
Share Improve this question edited Apr 22, 2019 at 17:01 Kyle Dalan asked Apr 20, 2019 at 0:01 Kyle DalanKyle Dalan 151 silver badge4 bronze badges 3-
It may have to do with the iframe. Putting that code into a top-level
<script>
in the top window performs as expected, at least on Chrome 73.0.3683.86, both on codepen and here on SO – CertainPerformance Commented Apr 20, 2019 at 0:04 -
it does the
console.log
but doesn't stop atdebugger
- I'm actually surprised any browser would stop atdebugger
on unload!! – Jaromanda X Commented Apr 20, 2019 at 1:25 - 1 @CertainPerformance, after I put the code in the top level, or just directly into the console, it works when I close the browser tab. The back, forward, and refresh buttons still don't seem to be reaching the unload hook for me. – Kyle Dalan Commented Apr 22, 2019 at 16:58
1 Answer
Reset to default 3Instead unload, use window.onbeforeunload
for Chrome and it will work fine!
window.onbeforeunload = function (e) {
console.log('It worked');
debugger;
};
Here is the event triggered in Chrome when I close the window.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745589528a4634749.html
评论列表(0条)