打印页面

231 阅读1分钟

初探:直接上代码

	printHTML() {
      	// 获取当前页的html代码
      	var bdhtml = window.document.body.innerHTML;
     	//设置打印开始区域
		//var startStr = '<!--startprint-->';
		// 设置打印结束区域
		//var endStr = '<!--endprint-->';
		//从标记里获取需要打印的页面
		// var printHtml = bdhtml.substring(bdhtml.indexOf(startStr) + startStr.length, bdhtml.indexOf(endStr));
      	//隐藏不必要的按钮和样式
      	// 通过id获取需要打印的页面
      	var printHtml = document.getElementById("print_html").innerHTML;
      	// 需要打印的页面
      	window.document.body.innerHTML = printHtml;
      	if (!!window.ActiveXObject || "ActiveXObject" in window) {
        	//是否ie
       		this.remove_ie_header_and_footer();
      	}
      	//调用打印
      	window.print();
      	// 还原界面
      	window.document.body.innerHTML = bdhtml;
      	// window.location.reload();
    },
    remove_ie_header_and_footer() {
      var hkey_path;
      hkey_path =
        "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
      try {
        var RegWsh = new ActiveXObject("WScript.Shell");
        RegWsh.RegWrite(hkey_path + "header", "");
        RegWsh.RegWrite(hkey_path + "footer", "");
      } catch (e) {}
    },

去掉打印浏览器自带的头尾信息

<style media="print"> @page { size: auto; margin: 0; } </style>

完。