iframe实现局部打印

  网页中用到jquery.dialog,需要把dialog里面的内容打印出来,开始直接用window.print(),因为我电脑没有连打印机,也没有测试,在项目演示的时候一个同事就打印出来,看效果,太囧了,打印出来的不是div里面的内容,而是当前屏幕所能看到的内容。在网上查了很多资料,有的看不懂,有的尝试了效果却不对,最后自己想了一个办法,用iframe来实现。

  第一步:要在页面中加一个iframe,把frameborder、height、width都设置成0,这样页面上就不会看到此iframe了。如:

    <iframe id="fra" name="fra" src="print_model.html" frameborder=0 height=0 width=0></iframe>

  第二部:在当前页面的js中,获取到这个iframe对象

    var frameObj = $(document.getElementById('fra').contentWindow.document.body);

  第三部:把要打印的内容放到iframe的body里面

    frameObj.html(content);

    注:如果要对iframe里面元素操作的话,需要获取到内容:var contentObj = frameObj.contents();再用contentObj操作

  第四部:打印

    document.getElementById('fra').contentWindow.print();

转载于:https://www.cnblogs.com/redangel/archive/2013/02/27/2935494.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值