<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<html>
<head>
</head>
<body>
<iframe id="hiddenFrame" name="hiddenFrame" frameborder="1" width="0" height="0" style="display: none;"></iframe>
<center><div id="msgDIV">正在读取数据,请等待...</div>
</center>
<script type="text/javascript">
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"g"),s2);
}
<%
String paths = request.getParameter("page");
if(paths==null)
return;
String urls[]=paths.split(",");
%>
//测试页面
var paintURL=[<%for(int i=0;i<urls.length;i++){%>"<%=urls[i]%>.jsp"<%=i!=urls.length-1?",":""%><%}%>];
//每个页面的内容
var heads = [];
var bodys = [];
for(var i=0;i<paintURL.length;i++)
{
heads[heads.length]="";
bodys[bodys.length]="";
var temptemp=document.createElement("iframe");
temptemp.setAttribute("id","hiddenFrame"+i);
temptemp.width="0";
temptemp.height="0";
temptemp.style.display="none";
document.body.appendChild(temptemp);
}
//所有页面的头
var allHead = "" , allBody = "";
//所有页面的内容
var allContent = "";
var xmlHttp ;
var pageId = 0;
var isIE = false;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
isIE = true;
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
isIE = false;
}
}
function loadHtml(cpageId){
var head = document.getElementById("hiddenFrame"+cpageId).contentWindow.document.getElementsByTagName("head");
if(head.length>0){
heads[cpageId]=head[0].innerHTML;
}else{
heads[cpageId]="";
}
bodys[cpageId]=document.getElementById("hiddenFrame"+cpageId).contentWindow.document.body.innerHTML;
bodys[cpageId] = bodys[cpageId].replaceAll("剩余[:]?\s*<[Ii][Nn][Pp][Uu][Tt].*个汉字","");
pageId=cpageId+1;
if(pageId<paintURL.length){
if(!getPage(pageId)){
if(pageId<paintURL.length){
document.getElementById("msgDIV").innerHTML="读取 "+paintURL.length+" 中的第 "+(pageId+1)+" 个页面的数据时失败 <a href='#' οnclick='javascript:document.location.reload();'>重试</a>";
}
}
}else{
document.getElementById("msgDIV").innerHTML="读取数据完毕,正在组装数据";
allContent="<html><head>"
allHead="";
allBody="";
for(var i=0;i<heads.length;i++){
allHead+=heads[i];
if(i!=heads.length-1)
allBody+="<p style=\"page-break-after: always;\">";
if(i==0)
allBody+="<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0></"+"OBJECT>";
allBody+=bodys[i];
if(i==heads.length-1){
var jsFilter = [];
//去掉checkBox button submit reset
var checkboxDisplayNone = "try{var inputs = document.getElementsByTagName(\"input\");for(var i=0;i<inputs.length;i++){if(inputs[i].bgColor!=undefined){inputs[i].bgColor=\"\";}if(inputs[i].backgroundColor!=undefined){inputs[i].backgroundColor=\"\";}if(inputs[i].style!=undefined){if(inputs[i].style!=null){inputs[i].style.backgroundColor=\"\";}}if(inputs[i].onclick!=null)inputs[i].οnclick=null;if(inputs[i].type==\"checkbox\"||inputs[i].type==\"button\"||inputs[i].type==\"submit\"||inputs[i].type==\"reset\"){inputs[i].style.display=\"none\";}}}catch(eee){alert(\"异常:\"+eee.message);}";
var textareaColor = "try{var inputs = document.getElementsByTagName(\"textArea\");for(var i=0;i<inputs.length;i++){if(inputs[i].bgColor!=undefined){inputs[i].bgColor=\"\";}if(inputs[i].backgroundColor!=undefined){inputs[i].backgroundColor=\"\";}if(inputs[i].style!=undefined){if(inputs[i].style!=null){inputs[i].style.backgroundColor=\"\";}}}}catch(eee){alert(\"异常:\"+eee.message);}";
jsFilter[jsFilter.length]=checkboxDisplayNone;
jsFilter[jsFilter.length]=textareaColor;
//注入脚本
allBody+="<script type='text/javascript'>";
for(var filterIndex=0;filterIndex<jsFilter.length;filterIndex++){
allBody+=jsFilter[filterIndex];
}
//打印脚本
allBody+="try{";
if(isIE)
allBody+="WB.ExecWB(6,1);";
else
allBody+="window.print();";
allBody+="}catch(Exception){}</"+"script>";
}
if(i!=heads.length-1)
allBody+="</p>";
}
allContent+=allHead;
allContent+="</head><body>";
allContent+=allBody;
allContent+="</body></html>";
document.getElementById("msgDIV").innerHTML="";
document.getElementById("msgDIV").height=0;
document.getElementById("msgDIV").width=0;
document.getElementById("msgDIV").display="none";
document.write(allContent);
document.close();
}
}
function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200 || xmlHttp.status == 0)
{
var resHtml;
if(isIE){
try{
resHtml = xmlHttp.responseText;
}catch(e){
alert(e.name+"\r\n"+e.message);
}
}else{
resHtml = xmlHttp.responseText;
}
document.getElementById("hiddenFrame"+pageId).contentWindow.document.write(resHtml);
var tempBodys=document.getElementById("hiddenFrame"+pageId).contentWindow.document.getElementsByTagName("body");
tempBodys[0].οnlοad=null;
document.getElementById("hiddenFrame"+pageId).contentWindow.document.close();
try
{
document.getElementById("hiddenFrame"+pageId).contentWindow.Load();
}
catch(e)
{
// alert("ERROR!"+paintURL[pageId]+" "+e.name+ "-----" + e.message);
}
loadHtml(pageId);
}else{
document.getElementById("msgDIV").innerHTML="读取数据失败";
}
}
}
//取得每一个页面的内容
//@param pageId 页面在paintURL中的索引
function getPage(pageId){
if(paintURL[pageId]==null)
return false;
document.getElementById("msgDIV").innerHTML="正在读取 "+paintURL.length+" 中的第 "+(pageId+1)+" 个页面的数据,请等待......";
if(xmlHttp == null || isIE)
createXMLHttpRequest();
if(!isIE)
xmlHttp.overrideMimeType("text/html;charset=gbk");
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET",paintURL[pageId],true);
xmlHttp.send(null);
return true;
}
//IE中文转换
function setGBK(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
//程序入口
getPage(0);
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<html>
<head>
</head>
<body>
<iframe id="hiddenFrame" name="hiddenFrame" frameborder="1" width="0" height="0" style="display: none;"></iframe>
<center><div id="msgDIV">正在读取数据,请等待...</div>
</center>
<script type="text/javascript">
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"g"),s2);
}
<%
String paths = request.getParameter("page");
if(paths==null)
return;
String urls[]=paths.split(",");
%>
//测试页面
var paintURL=[<%for(int i=0;i<urls.length;i++){%>"<%=urls[i]%>.jsp"<%=i!=urls.length-1?",":""%><%}%>];
//每个页面的内容
var heads = [];
var bodys = [];
for(var i=0;i<paintURL.length;i++)
{
heads[heads.length]="";
bodys[bodys.length]="";
var temptemp=document.createElement("iframe");
temptemp.setAttribute("id","hiddenFrame"+i);
temptemp.width="0";
temptemp.height="0";
temptemp.style.display="none";
document.body.appendChild(temptemp);
}
//所有页面的头
var allHead = "" , allBody = "";
//所有页面的内容
var allContent = "";
var xmlHttp ;
var pageId = 0;
var isIE = false;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
isIE = true;
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
isIE = false;
}
}
function loadHtml(cpageId){
var head = document.getElementById("hiddenFrame"+cpageId).contentWindow.document.getElementsByTagName("head");
if(head.length>0){
heads[cpageId]=head[0].innerHTML;
}else{
heads[cpageId]="";
}
bodys[cpageId]=document.getElementById("hiddenFrame"+cpageId).contentWindow.document.body.innerHTML;
bodys[cpageId] = bodys[cpageId].replaceAll("剩余[:]?\s*<[Ii][Nn][Pp][Uu][Tt].*个汉字","");
pageId=cpageId+1;
if(pageId<paintURL.length){
if(!getPage(pageId)){
if(pageId<paintURL.length){
document.getElementById("msgDIV").innerHTML="读取 "+paintURL.length+" 中的第 "+(pageId+1)+" 个页面的数据时失败 <a href='#' οnclick='javascript:document.location.reload();'>重试</a>";
}
}
}else{
document.getElementById("msgDIV").innerHTML="读取数据完毕,正在组装数据";
allContent="<html><head>"
allHead="";
allBody="";
for(var i=0;i<heads.length;i++){
allHead+=heads[i];
if(i!=heads.length-1)
allBody+="<p style=\"page-break-after: always;\">";
if(i==0)
allBody+="<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WB width=0></"+"OBJECT>";
allBody+=bodys[i];
if(i==heads.length-1){
var jsFilter = [];
//去掉checkBox button submit reset
var checkboxDisplayNone = "try{var inputs = document.getElementsByTagName(\"input\");for(var i=0;i<inputs.length;i++){if(inputs[i].bgColor!=undefined){inputs[i].bgColor=\"\";}if(inputs[i].backgroundColor!=undefined){inputs[i].backgroundColor=\"\";}if(inputs[i].style!=undefined){if(inputs[i].style!=null){inputs[i].style.backgroundColor=\"\";}}if(inputs[i].onclick!=null)inputs[i].οnclick=null;if(inputs[i].type==\"checkbox\"||inputs[i].type==\"button\"||inputs[i].type==\"submit\"||inputs[i].type==\"reset\"){inputs[i].style.display=\"none\";}}}catch(eee){alert(\"异常:\"+eee.message);}";
var textareaColor = "try{var inputs = document.getElementsByTagName(\"textArea\");for(var i=0;i<inputs.length;i++){if(inputs[i].bgColor!=undefined){inputs[i].bgColor=\"\";}if(inputs[i].backgroundColor!=undefined){inputs[i].backgroundColor=\"\";}if(inputs[i].style!=undefined){if(inputs[i].style!=null){inputs[i].style.backgroundColor=\"\";}}}}catch(eee){alert(\"异常:\"+eee.message);}";
jsFilter[jsFilter.length]=checkboxDisplayNone;
jsFilter[jsFilter.length]=textareaColor;
//注入脚本
allBody+="<script type='text/javascript'>";
for(var filterIndex=0;filterIndex<jsFilter.length;filterIndex++){
allBody+=jsFilter[filterIndex];
}
//打印脚本
allBody+="try{";
if(isIE)
allBody+="WB.ExecWB(6,1);";
else
allBody+="window.print();";
allBody+="}catch(Exception){}</"+"script>";
}
if(i!=heads.length-1)
allBody+="</p>";
}
allContent+=allHead;
allContent+="</head><body>";
allContent+=allBody;
allContent+="</body></html>";
document.getElementById("msgDIV").innerHTML="";
document.getElementById("msgDIV").height=0;
document.getElementById("msgDIV").width=0;
document.getElementById("msgDIV").display="none";
document.write(allContent);
document.close();
}
}
function handleStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200 || xmlHttp.status == 0)
{
var resHtml;
if(isIE){
try{
resHtml = xmlHttp.responseText;
}catch(e){
alert(e.name+"\r\n"+e.message);
}
}else{
resHtml = xmlHttp.responseText;
}
document.getElementById("hiddenFrame"+pageId).contentWindow.document.write(resHtml);
var tempBodys=document.getElementById("hiddenFrame"+pageId).contentWindow.document.getElementsByTagName("body");
tempBodys[0].οnlοad=null;
document.getElementById("hiddenFrame"+pageId).contentWindow.document.close();
try
{
document.getElementById("hiddenFrame"+pageId).contentWindow.Load();
}
catch(e)
{
// alert("ERROR!"+paintURL[pageId]+" "+e.name+ "-----" + e.message);
}
loadHtml(pageId);
}else{
document.getElementById("msgDIV").innerHTML="读取数据失败";
}
}
}
//取得每一个页面的内容
//@param pageId 页面在paintURL中的索引
function getPage(pageId){
if(paintURL[pageId]==null)
return false;
document.getElementById("msgDIV").innerHTML="正在读取 "+paintURL.length+" 中的第 "+(pageId+1)+" 个页面的数据,请等待......";
if(xmlHttp == null || isIE)
createXMLHttpRequest();
if(!isIE)
xmlHttp.overrideMimeType("text/html;charset=gbk");
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET",paintURL[pageId],true);
xmlHttp.send(null);
return true;
}
//IE中文转换
function setGBK(data){
var glbEncode = [];
gb2utf8_data = data;
execScript("gb2utf8_data = MidB(gb2utf8_data, 1)", "VBScript");
var t=escape(gb2utf8_data).replace(/%u/g,"").replace(/(.{2})(.{2})/g,"%$2%$1").replace(/%([A-Z].)%(.{2})/g,"@$1$2");
t=t.split("@");
var i=0,j=t.length,k;
while(++i<j) {
k=t[i].substring(0,4);
if(!glbEncode[k]) {
gb2utf8_char = eval("0x"+k);
execScript("gb2utf8_char = Chr(gb2utf8_char)", "VBScript");
glbEncode[k]=escape(gb2utf8_char).substring(1,6);
}
t[i]=glbEncode[k]+t[i].substring(4);
}
gb2utf8_data = gb2utf8_char = null;
return unescape(t.join("%"));
}
//程序入口
getPage(0);
</script>
</body>
</html>