用js代码控制打印网页

    有关网页打印,可以使用的方法有:“1.点击鼠标右键,选择打印预览,执行打印;2.按键盘上的[print sc sysrq]按钮”;还有打印当前网页的方法就是,用相关代码来实现,这里用到的是js;其实用js打印网页很简单,最为重要的就是print()这个函数。

    但是简单也不要掉以轻心,不同地方用到,处理方式也需要注意,不然也会得到一些自己不想的结果。

    1.打印整个网页的内容:

    window.print();

    2.打印指定id/class的网页内容:

    <script>

        function printdiv(printpage)
        {
            var headstr = "<html><head><title></title></head><body>";
            var footstr = "</body>";
            var newstr = document.all.item(printpage).innerHTML;
            var oldstr = document.body.innerHTML;
            document.body.innerHTML = headstr+newstr+footstr;
            window.print();
            document.body.innerHTML = oldstr;
            return false;
        }
    </script>

    ●  以上方法在本页面有表单时,可能会对数据完整性造成影响,换成下面的方法代替可解决这个问题:

    var divToPrint = document.getElementById("myMreview");
    newWin = window.open();
    newWin.document.write(divToPrint.innerHTML);
    newWin.document.close();
    newWin.focus();
    newWin.print();
    newWin.close();
    >> 原因是因为,前者是在本页面内容替换,相关的数据可能被替换掉了,再来找就找不到了;后者是在新的页面进行打印操作,不影响前一个页面数据。

    3.可以使用jquery插件:

    PrintArea

    jqprint

    Fingerprint

    printpage

    Lodop

    等等...


本文出自 “Shows technology” 博客,请务必保留此出处http://wangzhijun.blog.51cto.com/9660708/1613078

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。