javascript - 在 Chrome 和 Safari 中打印一个 div

标签 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 中不工作?请帮助..

最佳答案

看起来这个演示的目的是只打印一个 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();

编辑:抱歉说话像个急躁的人:)

关于javascript - 在 Chrome 和 Safari 中打印一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539887/

相关文章:

jquery - 如果使用 jQuery 检查单选按钮则显示框

javascript - 如何从d3中的文件中读取数据

javascript - JSON 对象排序被 jQuery 或 Javascript 篡改

javascript - 如何使文本框的值等于数字1

javascript - 在大图上添加下一个和上一个按钮

jQuery:循环插件和 100% 高度

javascript - 如何将 slideToggle 与动画和自动滚动相关联以达到匹配的 DIV?

javascript - Highchart 显示折线图最后一点的指标

javascript - 元素在页面上不可见

JavaScript Moment.js 试图获得 2 个日期时间之间的差异