对于IE浏览器可采用计时器的方法
//IE浏览器不支持for循环打印问题,需调用计时器循环打印,其他类型浏览器默认用for循环打印 if (isIE()){ var i = 0; var timer = setInterval(function () { doPrint(i); i++; if (_.isEqual(i,printCount)){ clearInterval(timer); } },1000) }else{ for (var i = 0; i < printCount; i++) { doPrint(i); } }判断是否是ie浏览器
/** * 判断是否是ie浏览器 * @returns {boolean} */ function isIE() { if(!!window.ActiveXObject || "ActiveXObject" in window){ return true; }else{ return false; } }打印方法,用的jqprint的工具
//点击打印按钮,触发事件】 function doPrint(index) { //window.print() console.log(index+"----------"); //$("#item" + index).printArea(); $("#item" + index).jqprint({ debug: false,//如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件) printContainer: true,//表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。 operaSupport: true,//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true }); }