/* 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);
    }
}

解决方案 »

  1.   

    感觉jquery的局部打印 更加实用点,兼容性也高 呵呵  看情况而用把
      

  2.   

    要依赖jquery引用,我发的调用灰常简单
      

  3.   

    局部打印用css就可以了呀   #printdiv{
        display:none;
        position:absolute;
        z-index:999;
        left:0;
        top:0;
        }
        @@media print {   
            #wrap1,#footer1{display:none;}
            #printdiv{display:block;}
        }
      

  4.   

    用这个Lodop  兼容IE Chrome Firefox …… 
      

  5.   

     window 里有个方法吧、! print()
      

  6.   

    javascript:window.print()
      

  7.   

    这么多行代码 ..原来也是...
    window.print();我以为有什么特殊的地方呢.
      

  8.   

    lldxi_printRegionFrame_2012_0112 ,这个是什么意思呢?