jquery.PrintArea.js 实现打印局部页面

本文介绍了一款基于jQuery的JavaScript插件,该插件能够帮助开发者轻松实现网页局部区域的打印功能。通过创建一个隐藏的iframe,并将指定的DOM元素复制到其中进行打印,有效避免了整个页面内容一同被打印的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js代码:
// JavaScript Document

(function($) {
    var printAreaCount = 0;
    $.fn.printArea = function()
    {
        var ele = $(this);
        var idPrefix = "printArea_";
        removePrintArea( idPrefix + printAreaCount );
        printAreaCount++;
        var iframeId = idPrefix + printAreaCount;
        var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
        iframe = document.createElement('IFRAME');
        $(iframe).attr({
            style : iframeStyle,
            id    : iframeId
        });
        document.body.appendChild(iframe);
        var doc = iframe.contentWindow.document;
        $(document).find("link").filter(function(){
            return $(this).attr("rel").toLowerCase() == "stylesheet";
        }).each(function(){
            doc.write('<link type="text/css" rel="stylesheet" href="' +$(this).attr("href") + '" >');
        });

        doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
        doc.close();

        var frameWindow = iframe.contentWindow;

        console.log(frameWindow);
        frameWindow.close();
        frameWindow.focus();
        frameWindow.print();
    }
    var removePrintArea = function(id)
    {
        $( "iframe#" + id ).remove();
    };
})(jQuery);

实列:

<input type="button" id="btnPrint" value="打印"/>
<div id="printContent">要打印的内容区域<div>

<script type="text/javascript">
$(function(){
        $("btnPrint").click(function(){ $("printContent").printArea(); });
});
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值