chrome瀏覽器使用jqprint外掛列印時偶爾空白頁問題
阿新 • • 發佈:2018-12-30
最近測試老是提bug說是有50%的概率打印出空白頁,之前我也一直髮現偶爾會出現這個問題,只是一直沒有發現原因。
今天終於下定決心找到問題所在。開始吧!
檢視原始碼一行行debug,發現問題只可能出現在這一段。
setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if(tab){ tab.close(); } }, 1000);
這裡應該是等待為了等待渲染完成,所以延遲了1秒載入列印。但是很多情況下會發現渲染時間超過1秒的情況,這種時候就會打印出空白頁面。
查詢網上的資料之後,想了個辦法解決 了這個問題。
var printObj=opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow; printObj.addEventListener('load', function() { printObj.print(); if (tab) { tab.close(); } });
我是js小白,如果有問題,歡迎指正。