我们一般蒋 iframe 高度,宽度 设置为0 目地是不显示在界面中(我们现在这种做法就需要这样)
但一般打印 都是只打印可显示的内容
sysmsgid_ifrm.htm (iframe页面 需嵌入主页中)
<html>
<head>
<title>消息查看</title>
<style media="print" type="text/css">
.noprint{display:none;}
.pagenext{page-break-after:always;}
</style>
</head>
<body>
<div id="printxmldiv">
</div>
</body>
<html>
js
function print(xml){
if(!xml){
xml = "";
}
var pobj = $("WebBrowser");
if (pobj == null) {
document.body.insertAdjacentHTML("beforeBegin", '<OBJECT ID="WebBrowser" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
pobj = $("WebBrowser");
if(!pobj){
return false;
}
}
SetIeFooterAndHead();
sysmsgid_ifrm.printxmldiv.innerHTML = xml.ReplaceAll("class=brrect", "").ReplaceAll("class=rrect", "").ReplaceAll("class=brect", "");
master_convertcm(sysmsgid_ifrm.printxmldiv);
document.all.sysmsgid_ifrm.ExecWB(7,1);
sysmsgid_ifrm.printxmldiv.innerHTML="";
}
在 main页中 调用print() 函数即可
其他方式
1:采用window.open() 方式打开 在写入内容
2:直接打印 iframe 首先要取得窗体焦点 pwin.focus();pwin.print();