Fix printing problem happening in IE and FF

This commit is contained in:
Hadi Nategh 2014-11-28 13:51:00 +00:00
parent 7ecc088c35
commit c41251a3e3

View File

@ -3906,26 +3906,30 @@ app.classes.mail = AppJS.extend(
mail_display_print: function () mail_display_print: function ()
{ {
var mainIframe = jQuery('#mail-display_mailDisplayBodySrc'); var mainIframe = jQuery('#mail-display_mailDisplayBodySrc');
var tmpPrintDiv = jQuery('#tempPrintDiv');
if (jQuery('#tempPrintDiv').length == 0)
if (tmpPrintDiv.length == 0 && tmpPrintDiv.children())
{ {
var tmpPrintDiv = jQuery(document.createElement('div')) tmpPrintDiv = jQuery(document.createElement('div'))
.attr('id', 'tempPrintDiv') .attr('id', 'tempPrintDiv')
.addClass('tmpPrintDiv'); .addClass('tmpPrintDiv');
if (mainIframe) var notAttached = true;
{
tmpPrintDiv[0].innerHTML = mainIframe.contents().find('body').html();
}
jQuery('#mail-display_mailDisplayBodySrc').after(tmpPrintDiv);
tmpPrintDiv.find('#divAppboxHeader').remove();
} }
if (mainIframe)
{
tmpPrintDiv[0].innerHTML = mainIframe.contents().find('body').html();
}
// Attach the element to the DOM after maniupulation
if (notAttached) jQuery('#mail-display_mailDisplayBodySrc').after(tmpPrintDiv);
tmpPrintDiv.find('#divAppboxHeader').remove();
this.egw.message('Printing....'); this.egw.message('Printing....');
var display = this;
// Make sure the print happens after the content is loaded. Seems Firefox can't handle timing for print command correctly // Make sure the print happens after the content is loaded. Seems Firefox and IE can't handle timing for print command correctly
setTimeout(function(){display.egw.window.print();},1); setTimeout(function(){
egw(window).window.print();
},100);
}, },
/** /**