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

It appears that with the latest release of Chrome (Version 73.0.3683.103 (Official Build) (64-bit)), wi

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.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745589528a4634749.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信