最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

javascript - How do I get window onunload event trigger to work in Chrome v73.x? - Stack Overflow

matteradmin8PV0评论

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 at debugger - I'm actually surprised any browser would stop at debugger 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
Add a ment  | 

1 Answer 1

Reset to default 3

Instead 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.

Post a comment

comment list (0)

  1. No comments so far