diff --git a/phpgwapi/js/framework/fw_browser.js b/phpgwapi/js/framework/fw_browser.js index 5324e0590a..258f2573fa 100644 --- a/phpgwapi/js/framework/fw_browser.js +++ b/phpgwapi/js/framework/fw_browser.js @@ -155,14 +155,25 @@ var fw_browser = Class.extend({ var self = this; this.ajaxLoaderDiv = jQuery('
').insertBefore(this.baseDiv); this.loadingDeferred = new jQuery.Deferred(); + + // Try to escape from infinitive not resolved loadingDeferred + // At least user can close the broken tab and work with the others. + // Define a escape timeout for 5 sec + this.ajaxLoaderDivTimeout = setTimeout(function(){ + self.ajaxLoaderDiv.hide().remove(); + self.ajaxLoaderDiv = null; + },5000); + this.loadingDeferred.always(function() { if(self.ajaxLoaderDiv) { self.ajaxLoaderDiv.hide().remove(); self.ajaxLoaderDiv = null; + // Remove escape timeout + clearTimeout(self.ajaxLoaderDivTimeout); } }); - + // Check whether the given url is a pseudo url which should be executed // by calling the ajax_exec function // we now send whole url back to server, so apps can use $_GET['ajax']==='true'