• 使用javascript对网页的部分内容进行打印


    <script type="text/javascript" src="jquery-1.3.2.min.js"></script>

     

    function PrintContent(el) {

            var iframe = document.createElement('IFRAME');
            var doc = null;
            $(iframe).attr('style', 'position:absolute;0px;height:0px;left:-500px;top:-500px;');
            document.body.appendChild(iframe);
            doc = iframe.contentWindow.document;
            var links = window.document.getElementsByTagName('link');
            for (var i = 0; i < links.length; i++)
                if (links[i].rel.toLowerCase() == 'stylesheet')
                doc.write('<link type="text/css" rel="stylesheet" href="' + links[i].href + '"></link>');
            doc.write('<div class="' + $(el).attr("class") + '">' + $(el).html() + '</div>');
            doc.close();
            iframe.contentWindow.focus();
            iframe.contentWindow.print();
            document.body.removeChild(iframe);

    }

     

    window.print()  实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型,套打的问题更加无从谈起,只不过,可以让用户不用去点菜单,直接点击网页中的一个按钮,或一个链接里面调用罢了。事实上,很多用户都是采用这种方式打印,但是这种方式最致命的缺点是不能设置打印参数,比如纸型,页边距,选择打印机等等。

    需要指出的是这种方法提供一个打印前和打印后的事件onbeforeprint、onafterprint。可以在打印前的时候重新编辑一些格式,专门送去打印,打印后又处理回来。
    function window.onbeforeprint()
    {
    //将一些不需要打印的隐藏
    }
    function window.onafterprint()
    {
    //放开隐藏的元素
    }

  • 相关阅读:
    页面加载完成前的loading加载效果
    javascript数组常用的遍历方法
    JavaScript的值传递和引用传递
    操作iframe的一些方法
    函数依赖与数据库范式
    微信分享到朋友圈
    计算机原理基础-原反补
    async eachSeries如何按序列执行下去
    使用 VLOOKUP、INDEX 或 MATCH 查找值
    编码问题
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1491492.html
Copyright © 2020-2023  润新知