//提交打印
function sbumitPrint() {
printHidden("AppsDSPrintDoub.aspx?type=print");
}

  

function printFrame(frame, onfinish) {

    if (!frame)
frame = window; function execOnFinish() {
switch (typeof (onfinish)) {
case "string":
execScript(onfinish);
break;
case "function":
onfinish();
break;
}
if (focused && !focused.disabled)
focused.focus();
} if (frame.document.readyState !== "complete") {
execOnFinish();
return;
} // var eventScope = printGetEventScope(frame);
// var focused = document.activeElement;
window.printHelper = function() {
// printWB.ExecWB(6, 2);
// printFireEvent(frame, eventScope, "onafterprint");
// printWB.outerHTML = "";
// execOnFinish();
//frame.jqprint();
var prints = $(frame.document.getElementById('printTable')); //打印table的ID
prints.jqprint();
window.printHelper = null;
}
//document.body.insertAdjacentHTML("beforeEnd", "<object id=\"printWB\" width=0 height=0 \ classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\">");
//printFireEvent(frame, eventScope, "onbeforeprint");
frame.focus();
window.printHelper();
} function printIsNativeSupport() {
var agent = window.navigator.userAgent;
var i = agent.indexOf("MSIE ") + 5;
return parseInt(agent.substr(i)) >= 5 && agent.indexOf("5.0b1") < 0;
} function printFireEvent(frame, obj, name) {
var handler = obj[name];
switch (typeof (handler)) {
case "string":
frame.execScript(handler);
break;
case "function":
handler();
break;
}
} function printGetEventScope(frame) {
var frameset = frame.document.all.tags("FRAMESET");
if (frameset.length)
return frameset[0];
return frame.document.body;
} function printHidden(url) { document.body.insertAdjacentHTML("beforeEnd", "<iframe name='printHiddenFrame' width='0' height='0'></iframe>");
var doc = printHiddenFrame.document;
doc.open();
doc.write("<body onload=\"parent.onprintHiddenFrame()\">");
doc.write("<iframe name='printMe' width='0' height='0' src=\"" + url + "\"></iframe>");
doc.write("</body>");
doc.close();
} function onprintHiddenFrame() {
function onfinish() {
printHiddenFrame.outerHTML = "";
if (window.onprintcomplete)
window.onprintcomplete();
}
printFrame(printHiddenFrame.printMe, onfinish);
}

这里还要用到一个jqprint-0.3.js

// -----------------------------------------------------------------------
// Eros Fratini - eros@recoding.it
// jqprint 0.3
//------------------------------------------------------------------------ (function($) {
var opt; $.fn.jqprint = function (options) {
opt = $.extend({}, $.fn.jqprint.defaults, options); var $element = (this instanceof jQuery) ? this : $(this); if (opt.operaSupport && $.browser.opera)
{
var tab = window.open("","jqPrint-preview");
tab.document.open(); var doc = tab.document;
}
else
{
var $iframe = $("<iframe />"); if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); } $iframe.appendTo("body");
var doc = $iframe[0].contentWindow.document;
} if (opt.importCSS)
{
if ($("link[media=print]").length > 0)
{
$("link[media=print]").each( function() {
doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
});
}
else
{
$("link").each( function() {
doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
});
}
} if (opt.printContainer) { doc.write($element.outer()); }
else { $element.each( function() { doc.write($(this).html()); }); } doc.close(); (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus();
setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);
} $.fn.jqprint.defaults = {
debug: false,
importCSS: true,
printContainer: true,
operaSupport: true
}; // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
jQuery.fn.outer = function() {
return $($('<div></div>').html(this.clone())).html();
}
})(jQuery);

可以直接调用jqprint-0.3.js,这样做是为了在提交数据的时候直接打印,等于后台打印,就不要重新打开一个预览页面

web 后台打印的更多相关文章

  1. web在线打印,打印阅览,打印维护,打印设计

    winform打印的方案比较多,实现也比较容易,而且效果也非常炫:但现在越来越多的系统是web系统,甚至是移动端.网上也有非常的web打印方案,但各式各样的问题非常多,比如js兼容性,稳定性等一直缠绕 ...

  2. Web后台技术趋势

    今天使用Google Trend比较了一下服务器端的程序开发语言技术ASP/ASP.NET Core, PHP, Node.Js的变化趋势,发现一下特点. ASP.NET最近几年一直再下降. ASP和 ...

  3. 即时通信系统中如何实现:全局系统通知,并与Web后台集成?【低调赠送:QQ高仿版GGTalk 5.1 最新源码】

    像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用GGTalk的朋友都建议我加上一个类似 ...

  4. RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充

    RDIFramework.NET ━ Web中打印的各种方案参考-欢迎补充 做Web开发的同志应该都深有体会,在web程序中打印不再象应用程序中那样便于控制了,web程序天生的一些特性造成了这个缺点, ...

  5. JS实现Web网页打印功能(IE)

    问题描述:     JS实现Web网页打印功能 问题解决:     这里主要使用WebBrowser控件的ExeWB在IE中打印功能的实现 WebBrowser介绍:         WebBrows ...

  6. Ibatis 后台打印完整的sql语句

    http://blog.csdn.net/deng11342/article/details/9122015 http://www.blogjava.net/libin2722/archive/200 ...

  7. Web后台快速开发框架(.NET Core)

    Web后台快速开发框架(.NET Core) Coldairarrow 目录 目录 第1章    目录    1 第2章    简介    3 第3章    基础准备    4 3.1    开发环境 ...

  8. Web后台快速开发框架

    Web后台快速开发框架 Coldairarrow 目录 目录 第1章    目录    1 第2章    简介    3 第3章    基础准备    4 3.1    开发环境要求    4 3.2 ...

  9. 第二周作业-web后台应用开发与xml

    web后台: 网站前台和网站后台通常是相对于动态网站而言,即网站建设是基于数据库开发 的网站.基于带数据库开发的网站,一般分网站前台和网站后台.网站前台是面向网站访问用户的,通俗的说也就是给访问网站的 ...

随机推荐

  1. [TopCoder12727]FoxAndCity

    vjudge 题意 你有一张\(n\)点的无向图,每个点有一个点权\(w_i\).图中原来存在一些边,你可以任意给这张图加上一些边. 记点\(i\)到点\(1\)的距离为\(d_i\),你需要最小化\ ...

  2. LeetCode Minimum Index Sum of Two Lists

    原题链接在这里:https://leetcode.com/problems/minimum-index-sum-of-two-lists/description/ 题目: Suppose Andy a ...

  3. 六、python沉淀之路--int str list tuple dict 重点总结

    一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/formattempalte = "i am {na ...

  4. nodejs 设置跨域访问

    app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); a ...

  5. CodeSmith 基本语法(二)

    CodeSmith之四 - 典型实例(四) CodeSmith API文档 (三) CodeSmith 基本语法(二) CodeSmith 图形界面基本操作(一) CodeSmith的C#语法与Asp ...

  6. (转载)Windows: "net use" command introduction

    1)建立空连接: net use ""IP"ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格) 2)建立 ...

  7. Visualforce Page超链接

    Salesforce开发者文档:https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_quick_start ...

  8. vs2013-zlib1.2.8编译使用

    1.编译步骤 a.先用vs2013命令行执行下bld_ml32.bat批处理 b.将inffas32.obj和match686.obj复制到目录zlib128\zlib-1.2.8 c.打开zlib- ...

  9. MyBatis 批量插入数据对插入记录数的限制

    <基于 MyBatis 框架的批量数据插入的性能问题的探讨>(作者:魏静敏 刘欢杰 来源:<计算机光盘软件与应用> 2013 年第 19 期)中提到批量插入的记录数不能超过10 ...

  10. pom.xm首行报错Failure to transfer org.codehaus.plexus:plexus-components:pom:1.1.20

    从SVN导出一个Maven项目,pom.xml首行报错: Failure to transfer org.codehaus.plexus:plexus-components:pom:1.1.20 fr ...