This is frustrating. Trial and error to make this work cross-browser
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 12 Oct 2009 18:04:57 +0000 (12:04 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 12 Oct 2009 18:50:24 +0000 (12:50 -0600)
imp/js/DimpBase.js
imp/js/DimpCore.js

index 9108d7c..cfa2309 100644 (file)
@@ -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:')) {
index 7237808..f7884c2 100644 (file)
@@ -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. */