在做项目的时候会常会遇到打印问题。

站点上的网页信息需要打印,这个时候有好多部分可能希望在打印的时候隐藏或者重新布局,这是我12年收藏的文章,搬运过来。

有时我们需要选择性的打印,在网上找到一些方法,扩展了一下,经IE和firfox测试都可用。

function PrintOut() {
        bdhtml = window.document.body.innerHTML;
        sprnstr = "<!--startprint-->";
        eprnstr = "<!--endprint-->";
        prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
        var reg = /<!--startnotprint-->[\s\S]+?<!--endnotprint-->/g;
        prnhtml = prnhtml.replace(reg, "");
        window.document.body.innerHTML = prnhtml;
        window.print(); 
    }

把要打印的区域用<!--startprint--> 和 <!--endprint-->包括起来,然后中间不需要打印的用<!--startnotprint-->和<!--endnotprint-->包括起来。

经测试可用,就是有点困惑 window.document.body.innerHTML = prnhtml; 为会什么不会改变原来的页面。。。。。

相关文章:

JavaScript 如何从数组中删除指定项目?

JavaScript 操作 Cookie

JavaScript use strict 是什么?

js 选择打印区域

JS 完美判断页面是否在移动端打开

js 重定向 页面怎么写?

纯js日期控件 可以自定义样式

HTML中JS操作DOM样式Style对照表