在Chrome和Safari中打印div

时间:2013-12-12 09:43:50

标签: javascript jquery

的jQuery

 $(function(){
    $("#btnPrint").click(function(){
      var mydiv = document.getElementById("printDiv");
    printDiv(mydiv);
    });

    });

    function printDiv(divP) {

                window.frames["print_frame"].document.body.innerHTML = $(divP).html();
                window.frames["print_frame"].window.focus();
                window.frames["print_frame"].window.print();

            }

HTML

 <iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank">
        </iframe>

<div id="printDiv">
//some content here
</div>

<input type="button" id="btnPrint" value="Print"/>

上面的代码在IE和Mozilla中工作但在Safari,chome和Opera中没有工作?请帮忙..

1 个答案:

答案 0 :(得分:2)

看起来这个演示的目的是只打印一个div,这是正确的吗?

如果是,则跨浏览器解决方案为easiest to use media queries

http://jsfiddle.net/Nu5SX/2/

@media print {
    body * {
       visibility: hidden;
    }
    #printDiv, #printDiv * {
       visibility: visible;
    }
    #printDiv {
       position: absolute;
       left: 0;
       top: 0;
    }
}

简单的javascript

    window.print();

编辑:抱歉像clippy一样说话:)