From f20f27927d3f9bd2a348074311c563c5e2fac911 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Fri, 21 Feb 2014 10:17:41 +0000 Subject: [PATCH] Window unload event support for most browsers * Also fixes "Webserver gone away" sometimes appearing on page reload --- public/js/icinga/events.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/public/js/icinga/events.js b/public/js/icinga/events.js index e80dea7de..7dbdc2e3f 100644 --- a/public/js/icinga/events.js +++ b/public/js/icinga/events.js @@ -48,6 +48,8 @@ // We catch resize events $(window).on('resize', { self: this }, this.onWindowResize); + $( window ).on('unload', { self: this }, this.onUnload); + // We catch scroll events in our containers $('.container').on('scroll', icinga.events.onContainerScroll); @@ -71,6 +73,13 @@ // $(document).on('change', 'form.auto select', this.submitForm); }, + onUnload: function(event) + { + var icinga = event.data.self.icinga; + icinga.logger.info('Unloading Icinga'); + icinga.destroy(); + }, + historyChanged: function(event) { var icinga = event.data.self.icinga; @@ -228,6 +237,7 @@ { $(window).off('popstate', this.historyChanged); $(window).off('resize', this.onWindowResize); + $(window).off('unload', this.onUnload); $(document).off('scroll', '.container', this.onContainerScroll); $(document).off('click', 'a', this.linkClicked); $(document).off('click', 'tr[href]', this.linkClicked);