分享js列印 網頁

燕兒歸發表於2015-10-11

<script type="text/javascript">
  var hkey_root, hkey_path, hkey_key
  hkey_root = "HKEY_CURRENT_USER"
  hkey_path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"
            //設定網頁列印的頁首頁尾為空
            function pagesetup_null(){
                try {
                    var RegWsh = new ActiveXObject("WScript.Shell")
                    hkey_key = "header"
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
                    hkey_key = "footer"
                    RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "")
                } 
                catch (e) {
                }
            }
    function printForm(){
    pagesetup_null();   //呼叫函式,去掉頁首頁尾
    window.print();        //列印
   }
  </script>



/* js列印功能,使用chrome瀏覽器體驗最佳
引數str可以使用id或者html等,如:printWork("divid");printWork("<div>TEST</div>") */
function printWork(str) {
    var orderhtml = "";
    if (document.getElementById(str)) { orderhtml = document.getElementById(str).outerHTML; }
    else orderhtml = str;
    /* 建立iframe */
    var headobj = document.getElementsByTagName("head").item(0); //提取head  
    printFrame = document.getElementById("lldxi_printRegionFrame_2012_0112");
    if (printFrame) { document.body.removeChild(printFrame); }
    printFrame = document.createElement("iframe");
    printFrame.setAttribute("src", "about:blank");
    printFrame.setAttribute("id", "lldxi_printRegionFrame_2012_0112");
    printFrame.setAttribute("marginheight", "0");
    printFrame.setAttribute("marginwidth", "0");
    printFrame.style.display = "none";
    document.body.appendChild(printFrame);
    if (window.ActiveXObject)//ie
    {
        var htmlobj = printFrame.contentWindow.document.createElement("html"); var bodyobj = printFrame.contentWindow.document.createElement("body");
        bodyobj.innerHTML = orderhtml; htmlobj.appendChild(headobj.cloneNode(true)); htmlobj.appendChild(bodyobj);
        printFrame.contentWindow.document.appendChild(htmlobj); printFrame.contentWindow.document.execCommand("Print", true);
    }
    else {
        var htmlstr = "<html>" + headobj.outerHTML + "<body>" + orderhtml + "<script type=\"text/javascript\">window.print();<\/script><\/body>" + "<\/html>";
        printFrame.contentWindow.document.write(htmlstr);
    }
}




相關文章