AJAX/JS Web打印插件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="apps.site3618.ext.limitInfo.dali.PrintInfoCacheDataBean" %>   


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>打印代理留言信息</title>


<script type="text/javascript" src="<%=request.getContextPath() %>/apps/ria/jquery-1.11.3.min.js"></script>

<script type="text/javascript" src="<%=request.getContextPath() %>/apps/ria/jquery-ui-1.11.4/jquery-ui.js"></script>


</head>
<body>

<h1>正在打印:代理留言信息</h1>

    <input type="button" onClick="callPrint('printIframe')" value="打印"/>
        
    <iframe id="printIframe" name="printIframe" style="display:none">
    
    
    </iframe>
    
    <script type="text/javascript">
    
        var isInfoLoaded=false;

        /*
         由于Iframe src装载数据延时,导致打印空白面,改由AJAX加载数据,确保数据加载再启打印。        
        */
        function callPrint(printIframe){
        
                var iframe=document.getElementById(printIframe);
                
                //src装载数据延时,导致打印空白面
                
                //iframe.src="<%=request.getContextPath()%>/zh_CN/member/DaliInfoPrintAction.do?method=infoList_print_ajax&rid="+Math.random();
                
        var url="<%=request.getContextPath()%>/zh_CN/member/DaliInfoPrintAction.do?method=infoList_print_ajax&rid="+Math.random();
            
                if(iframe==null){
                    alert("获取Iframe失败!");
                }
                
            $.ajax({
            type: "GET",
            url: url,
            data: "id="+1,
            success: function(data){
         
        
            if(data != null){
                       // alert("操作成功。");
                         //数据加载完成,开始打印
                        var doc=iframe.contentDocument;
            
                    if(doc==null){
                        alert("无法获取Iframe文档");
                    }
                    //清除旧文档,防止多次手动加载数据
                    
                    //清除旧文档,防止多次手动加载数据
                    if(isInfoLoaded==false){
                    
                    doc.clear();
                    doc.write(data);
                    
                    isInfoLoaded=true;
                    }
                    
                    //firefox
                    
                    if(navigator.userAgent.indexOf("Firefox")>0){
                        alert("Firefox print!");
                        //    doc = iframe.contentWindow.document;

                        //iframe.contentWindow.focus();
                        ///iframe.contentWindow.print();
                            // 窗口打印
                            var windowIf=iframe.contentWindow;
            
                        windowIf.print();
                    }else{
                    
                        doc.execCommand('print');    
                    }
                    
                
            
                       
              }else{
                    alert("操作失败,");
                    }
                    }   //操作成功后的操作
                  }); 
        }
        
    //自动打印出现空白页    
    function callPrint2(printIframe){
        
        
                var iframe=document.getElementById(printIframe);
        
        
            //window.print();
            
            /* 窗口打印
            var windowIf=iframe.contentWindow;
            
            if(windowIf==null){
            //windowIf=iframe.contentDocument.parentWindow;
            
                alert("Iframe窗口获取失败!");
            }
            
            alert(windowIf);
            
            //ie,google内核打印本窗口
            //windowIf.print();
            
            
            */
            
            var doc=iframe.contentDocument;
            
            if(doc==null){
                alert("无法获取Iframe文档");
                }
                
                
            doc.execCommand('print');
            
            
            /*
            doc = iframe.contentWindow.document;

            iframe.contentWindow.focus();
            iframe.contentWindow.print();
            if (navigator.userAgent.indexOf("MSIE"){}
            
            */
        }
        
        
        //loadPrintData();
        
        //loadPrintData('printIframe');
        
        //自动打印
        callPrint('printIframe');
    </script>
    
<div>



<% PrintInfoCacheDataBean pb=null;
    
    pb=(PrintInfoCacheDataBean)request.getSession().getAttribute("MyPrintInfoDataSessionBean");
    
    
     %>
    

    <div id="info_bar" style="margin:10px; padding:10px; ">
    
        当前打印数:<%=pb.getInfoList().size() %>
        
        
        当天已用额度 <%=pb.getInfoViewLimitCurrent() %>
        
        当天最大打印额度:<%=pb.getInfoViewLimitTotal()%>
    
    </div>

    <div>
    <p> <span style="red">注意事项:</span></p>
    <p>1)请确保您打印机已开启</p>
    <p>2)确保你的计算机已成功连接到网络打印机</p>
    <p>3)准备好多张A4纸</p>
    <p>4)如无法自动打印,请点击打印按钮,手动打印。</p>
    </div>
    
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值