您的位置:首页 > Web前端 > JavaScript

AJAX/JS Web打印插件

2015-07-29 16:42 573 查看
<%@ 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: