fix autocomplete for Firefox by doing a real submit to an https url, as faked submit to "about:blank" causes a security warning in FF

This commit is contained in:
Ralf Becker 2015-01-27 15:14:56 +00:00
parent 668c48eaa8
commit c5cbbf240a
2 changed files with 9 additions and 7 deletions

0
etemplate/empty.html Normal file
View File

View File

@ -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);
},0);
};
/**