From 3ed4a05233477e432be6f2515970dc839222c30b Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 12 Oct 2009 12:04:57 -0600 Subject: [PATCH] This is frustrating. Trial and error to make this work cross-browser --- imp/js/DimpBase.js | 2 +- imp/js/DimpCore.js | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/imp/js/DimpBase.js b/imp/js/DimpBase.js index 9108d7cbc..cfa230915 100644 --- a/imp/js/DimpBase.js +++ b/imp/js/DimpBase.js @@ -204,7 +204,7 @@ var DimpBase = { $('appoptions').hasClassName('on')) { $('dimpPage').hide(); $('dimpLoading').show(); - return DimpCore.redirect(DIMP.conf.URI_DIMP + '#' + loc); + return DimpCore.redirect(DIMP.conf.URI_DIMP + '#' + loc, true); } if (loc.startsWith('compose:')) { diff --git a/imp/js/DimpCore.js b/imp/js/DimpCore.js index 72378082e..f7884c2c3 100644 --- a/imp/js/DimpCore.js +++ b/imp/js/DimpCore.js @@ -271,13 +271,20 @@ var DimpCore = { this.redirect(url || (DIMP.conf.URI_AJAX + '/LogOut')); }, - redirect: function(url) + redirect: function(url, force) { var ptr = parent.frames.horde_main ? parent : window; + + if (Horde.dhtmlHistory) { + Horde.dhtmlHistory.stop(); + } + ptr.location.assign(this.addURLParam(url)); // Catch browsers that don't redirect on assign(). - (function() { ptr.location.reload(true); }).delay(0.5); + if (force && !Prototype.Browser.WebKit) { + (function() { ptr.location.reload(); }).delay(0.4); + } }, /* Add dropdown menus to addresses. */ -- 2.11.0