• JS调用iframe方式实现Web区域打印页面内容


    1、程序说明
     1) 此程序可以实现选择页面中的区域进行打印,以iframe方式进行打印;
     2) 与原生态的print() 区别在于,取消打印页面后可以完整保留当前访问页面的内容。


    2、代码部分
     1) JS 函数:

     代码如下 复制代码


    function do_print(id_str)//id-str 打印区域的id
    {
          var el = document.getElementById(id_str);
          var iframe = document.createElement('IFRAME');
          var doc = null;
          iframe.setAttribute('style', 'position:absolute;0px;height:0px;left:-500px;top:-500px;');
          document.body.appendChild(iframe);
          doc = iframe.contentWindow.document;
          // 引入打印的专有CSS样式,www.111Cn.net根据实际修改
          doc.write("<LINK rel="stylesheet" type="text/css" href="css/print.css">");
          doc.write('<div>' + el.innerHTML + '</div>');
          doc.close();
          iframe.contentWindow.focus();
          iframe.contentWindow.print();
          if (navigator.userAgent.indexOf("MSIE") > 0)
          {
               document.body.removeChild(iframe);
          }
    }

    2) HTML:

    // 打印区域:
    <div id="print_box">
    ......
    </div>
    // 调用打印
    <button onclick="javascript:do_print('print_box');">打印</button>

    CSS:

    根据具体需要进行修改添加。

     
    3. 测试

    点击页面上的打印按钮,即可测试打印;

    除了上面方法我们还可以通过jquery来实例,代码如下

     代码如下 复制代码

    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="jquery.PrintArea.js"></script>
    <script>
    $(document).ready(function(){
      $("input#biuuu_button").click(function(){

      $("div#myPrintArea").printArea();

    });
    });
     
    </script>
     

    <input id="biuuu_button" type="button" value="打印"></input>

    <div id="myPrintArea">.....文本打印部分.....</div>


    如果要实现区域打印我们可尝试下面方法

    下面本文分享一种超简单的方法实现页面的打印功能,不仅可以打印整个页面,还可以打印页面某块区域

     代码如下 复制代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script language="javascript">
    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>
    <title>div print</title>
    </head>
    <body>
    <input type="button" onClick="printdiv('div_print');" value=" 打印 ">
    <div id="div_print">
    <h1 style="Color:Red">被打印区域:www.111cn.net</h1>
    </div>
    这块区域是打印不到的!
    </body>
    </html>
     
    你可能感兴趣的文章
  • 相关阅读:
    blob 下载功能和预览功能
    实现大文件上传
    element ui框架之Upload
    常用utils
    vue实现excel表格上传解析与导出
    理解script加载
    js处理10万条数据
    Shadow DOM
    20150625_Andriod_01_ListView1_条目显示
    20150624_Andriod _web_service_匹配
  • 原文地址:https://www.cnblogs.com/alibai/p/3579699.html
Copyright © 2020-2023  润新知