diff --git a/etemplate/empty.html b/etemplate/empty.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/etemplate/js/etemplate2.js b/etemplate/js/etemplate2.js index d3bc0e5116..7eb8e8e24b 100644 --- a/etemplate/js/etemplate2.js +++ b/etemplate/js/etemplate2.js @@ -594,6 +594,10 @@ etemplate2.prototype.autocomplete_fixer = function (_node,_id) var $form = jQuery(document.createElement('form')) .attr({id:id + '_form_autocomplete_fixer',action:'about:blank', target:'egw_iframe_autocomplete helper'}) .css({height:"100%"}); + // Firefox give a security warning when transmitting to "about:blank" from a https site + // we work around that by giving existing etemplate/empty.html url + if (navigator.userAgent.match(/firefox/i)) + $form.attr({action: egw.webserverUrl+'/etemplate/empty.html',method:'post'}); //Creates iframe for fake submission $et2_container.before(jQuery(document.createElement('iframe')) .attr({id:id + '_iframe_autocomplete_fixer',src:'about:blank',name:'egw_iframe_autocomplete helper'}).hide()); @@ -604,13 +608,11 @@ etemplate2.prototype.autocomplete_fixer = function (_node,_id) setTimeout(function(){ var $a = jQuery(node).parent(); if ($a.length>0 && typeof $a.parent() != 'undefined') $a.submit(); //Submit to iframe - setTimeout(function(){ - //Clean up the mess from DOM - if(jQuery(node).parent().is('form')) - jQuery(node).unwrap(); - jQuery('iframe#'+id + '_iframe_autocomplete_fixer').remove(); - },1); - },1); + //Clean up the mess from DOM + if(jQuery(node).parent().is('form')) + jQuery(node).unwrap(); + jQuery('iframe#'+id + '_iframe_autocomplete_fixer').remove(); + },0); }; /**