(function ($) {
$.fn.printArea = function () {
if ($.browser.msie) {
//这是一个IE浏览器
ie($(this));
} else if ($.browser.opera) {
sm($(this));
//这是一个opera浏览器;
} else if ($.browser.mozilla) {
sm($(this));
//这是一个火狐浏览器
} else if ($.browser.safari) {
//这是一safari浏览器
sm($(this));
}
}
})(jQuery);
var removePrintArea = function (id) {
$("iframe#" + id).remove();
};
//safari浏览器 火狐浏览器 opera浏览器;
function sm(obj) {
// window.location.reload();
var printAreaCount = 0;
var ele = obj;
var idPrefix = "printArea_";
removePrintArea(idPrefix + printAreaCount);
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style: iframeStyle,
id: iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
$(document).find("link")
.filter(function () {
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function () {
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
}
function ie(obj) {
var ele = obj;
var printCss = '';
$(document).find("link").filter(function () {
return $(this).attr("rel").toLowerCase() == "stylesheet";
}).each(
function () {
printCss = printCss + '<link type="text/css" rel="stylesheet" href="' + $(this).attr("href") + '" >';
});
var printContent = '<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>';
var windowUrl = 'about:blank';
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');
var BodyHtml = '<body>';
var BodyEnd = "</body>";
printWindow.document.write(printCss + BodyHtml + printContent + BodyEnd);
printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
}
//元素调用
// var d = [{ "elementes": $(".main"), "removebtn": true }]
//
//PrintAreaGroup(d, "elementes");
//页面调用
//PrintAreaGroup("Default2.aspx", "page");
//HTML调用
// PrintAreaGroup("<div>ddddddddd<div>", "html");
function PrintAreaGroup(printobj, type) {
if (printobj != null) {
switch (type) {
case "page": //打印指定页面
window.showModalDialog(printobj, new Object(), "dialogWidth=" + window.screen.availWidth
+ "px;dialogHeight=" + window.screen.availHeight + "px");
break;
case "elementes":
var htmls = $("<div></div>");
$.each(printobj, function (name, object) {
//对象集合
if ((object.elementes).length > 1) {
$.each((object.elementes), function (ix, obj) {
var $obj = (object.elementes).eq(ix).clone();
if (object.removebtn == true) {
//判断是否要移除button
$obj.find(".button_bar").remove();
}
$obj.appendTo(htmls);
});
}
//单个对象
else {
var $obj = (object.elementes).clone();
if (object.removebtn == true) {
//判断是否要移除button
$obj.find(".button_bar").remove();
}
$obj.appendTo(htmls);
}
});
htmls.printArea();
break;
case "html": //打印指定HTML
$("<div></div>").html(printobj).printArea();
break;
}
}
}
var HKEY_Root, HKEY_Path, HKEY_Key;
HKEY_Root = "HKEY_CURRENT_USER";
HKEY_Path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//设置网页打印的页眉页脚为空
function PageSetup_Null() {
try {
var Wsh = new ActiveXObject("WScript.Shell");
HKEY_Key = "header";
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
HKEY_Key = "footer";
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
}
catch (e) {
}
}
////设置网页打印的页眉页脚为默认值
//function PageSetup_Default() {
// try {
// var Wsh = new ActiveXObject("WScript.Shell");
// HKEY_Key = "header";
// Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "&w&b页码,&p/&P");
// HKEY_Key = "footer";
// Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "&u&b&d");
// }
// catch (e)
//{ }
//}
PageSetup_Null();
js局部打印
(function ($) {
$.fn.printArea = function () {
if ($.browser.msie) {
//这是一个IE浏览器
ie($(this));
} else if ($.browser.opera) {
sm($(this));
//这是一个opera浏览器;
} else if ($.browser.mozilla) {
sm($(this));
//这是一个火狐浏览器
} else if ($.browser.safari) {
//这是一safari浏览器
sm($(this));
}
}
})(jQuery);
var removePrintArea = function (id) {
$("iframe#" + id).remove();
};
//safari浏览器 火狐浏览器 opera浏览器;
function sm(obj) {
// window.location.reload();
var printAreaCount = 0;
var ele = obj;
var idPrefix = "printArea_";
removePrintArea(idPrefix + printAreaCount);
printAreaCount++;
var iframeId = idPrefix + printAreaCount;
var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
iframe = document.createElement('IFRAME');
$(iframe).attr({ style: iframeStyle,
id: iframeId
});
document.body.appendChild(iframe);
var doc = iframe.contentWindow.document;
$(document).find("link")
.filter(function () {
return $(this).attr("rel").toLowerCase() == "stylesheet";
})
.each(function () {
doc.write('<link type="text/css" rel="stylesheet" href="' +
$(this).attr("href") + '" >');
});
doc.write('<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>');
doc.close();
var frameWindow = iframe.contentWindow;
frameWindow.close();
frameWindow.focus();
frameWindow.print();
}
function ie(obj) {
var ele = obj;
var printCss = '';
$(document).find("link").filter(function () {
return $(this).attr("rel").toLowerCase() == "stylesheet";
}).each(
function () {
printCss = printCss + '<link type="text/css" rel="stylesheet" href="' + $(this).attr("href") + '" >';
});
var printContent = '<div class="' + $(ele).attr("class") + '">' + $(ele).html() + '</div>';
var windowUrl = 'about:blank';
var uniqueName = new Date();
var windowName = 'Print' + uniqueName.getTime();
var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');
var BodyHtml = '<body>';
var BodyEnd = "</body>";
printWindow.document.write(printCss + BodyHtml + printContent + BodyEnd);
printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
}
//元素调用
// var d = [{ "elementes": $(".main"), "removebtn": true }]
//
//PrintAreaGroup(d, "elementes");
//页面调用
//PrintAreaGroup("Default2.aspx", "page");
//HTML调用
// PrintAreaGroup("<div>ddddddddd<div>", "html");
function PrintAreaGroup(printobj, type) {
if (printobj != null) {
switch (type) {
case "page": //打印指定页面
window.showModalDialog(printobj, new Object(), "dialogWidth=" + window.screen.availWidth
+ "px;dialogHeight=" + window.screen.availHeight + "px");
break;
case "elementes":
var htmls = $("<div></div>");
$.each(printobj, function (name, object) {
//对象集合
if ((object.elementes).length > 1) {
$.each((object.elementes), function (ix, obj) {
var $obj = (object.elementes).eq(ix).clone();
if (object.removebtn == true) {
//判断是否要移除button
$obj.find(".button_bar").remove();
}
$obj.appendTo(htmls);
});
}
//单个对象
else {
var $obj = (object.elementes).clone();
if (object.removebtn == true) {
//判断是否要移除button
$obj.find(".button_bar").remove();
}
$obj.appendTo(htmls);
}
});
htmls.printArea();
break;
case "html": //打印指定HTML
$("<div></div>").html(printobj).printArea();
break;
}
}
}
var HKEY_Root, HKEY_Path, HKEY_Key;
HKEY_Root = "HKEY_CURRENT_USER";
HKEY_Path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//设置网页打印的页眉页脚为空
function PageSetup_Null() {
try {
var Wsh = new ActiveXObject("WScript.Shell");
HKEY_Key = "header";
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
HKEY_Key = "footer";
Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "");
}
catch (e) {
}
}
////设置网页打印的页眉页脚为默认值
//function PageSetup_Default() {
// try {
// var Wsh = new ActiveXObject("WScript.Shell");
// HKEY_Key = "header";
// Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "&w&b页码,&p/&P");
// HKEY_Key = "footer";
// Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, "&u&b&d");
// }
// catch (e)
//{ }
//}
PageSetup_Null();
/打印事件
$('#btnPrint').click(function () {
preview(1);
// print($('#main').html());
});
//打印的方法
function preview(oper) {
if (oper < 10)
{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
}
else
{
window.print();
}
}
将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
<a onclick=preview(1)>打印</a>
$('#btnPrint').click(function () {
preview(1);
// print($('#main').html());
});
//打印的方法
function preview(oper) {
if (oper < 10)
{
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
}
else
{
window.print();
}
}
将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
<a onclick=preview(1)>打印</a>