学新通技术网

用JS打印网页内容,实现隐藏并去掉网页中的页眉页脚页头等信息

Luke 5482 1
用JS打印网页内容,实现隐藏并去掉网页中的页眉页脚页头等信息

前言

正常用浏览器的打印功能打印网页的时候,浏览器会自动给A4纸张加上页眉页脚页头等信息, 必须手动去选项中取消才可以,这篇文章将使用javascript与Jquery的方式,隐藏并且去掉打印网页中的页眉页脚页头,显示正常的打印页面。

关键点,使用 js和css 的方式隐藏打印网页中的页眉页脚页头等信息

一、隐藏页头页脚 使用CSS

使用CSS即可隐藏去掉页眉页脚页头,但是要注意配合插件的使用

@page {
    /* margin: 0mm; */
}
@page {
    size: auto;
    /* auto is the initial value */
    margin: 0mm 10mm 0mm 10mm;
    /* this affects the margin in the printer settings 最关键的还是这个*/
}

二、使用 Jquery 进行网页打印

这是个 jquery 的一个打印插件,点我下载打印插件 如果你的jquery版本太高, 下载一下兼容插件 点我下载兼容插件

//使用jqprint 进行打印
$('.print').click(function () {
    $(".print-content").jqprint({
        debug: false, //如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false
        importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件)
        printContainer: true, //表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。
        operaSupport: true//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true
    });
});

三、完整代码示例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>学新通测试打印</title>
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
        <script src="http://www.jq22.com/jquery/jquery-migrate-1.2.1.min.js"></script>
        <script src="https://www.jq22.com/demo/dayin/jquery.jqprint-0.3.js"></script>
    </head>
    <body>
        <div>
            <button class="print">打印按钮</button>
        </div>
        <div class="print-content">
            <style>
                * {
                    margin: 0;
                    padding: 0;
                }
                @page {
                    /* margin: 0mm; */
                }
                @page {
                    size: auto;
                    /* auto is the initial value */
                    margin: 0mm 10mm 0mm 10mm;
                    /* this affects the margin in the printer settings 最关键的还是这个*/
                }
            </style>
        </div>
        <script>
            // 打印
            $('.print').click(function () {
                $(".print-content").jqprint({
                    debug: false, //如果是true则可以显示iframe查看效果(iframe默认高和宽都很小,可以再源码中调大),默认是false
                    importCSS: true, //true表示引进原来的页面的css,默认是true。(如果是true,先会找$("link[media=print]"),若没有会去找$("link")中的css文件)
                    printContainer: true, //表示如果原来选择的对象必须被纳入打印(注意:设置为false可能会打破你的CSS规则)。
                    operaSupport: true//表示如果插件也必须支持歌opera浏览器,在这种情况下,它提供了建立一个临时的打印选项卡。默认是true
                });
            });
        </script>
    </body>
</html>

本文出至:学新通技术网

标签: