js打印
js打印,其实是打印当前页面的内容,是调用 系统的js方法,来弹出 打印设置窗口,用法很简单。
window.print()就行,有的考虑到 浏览器兼容性问题,会用到document.execCommand("print")
function jsPrint(){
if (typeof (getBrowerType().ie) != "undefined") {//浏览器判断
document.execCommand('print');//弹出打印设置窗口
} else {
window.print();//弹出打印设置窗口
}
}); function getBrowerType() {
var sysType = {};
var ua = navigator.userAgent.toLowerCase();
var matchs;
(matchs = ua.match(/msie ([\d.]+)/)) ? sysType.ie = matchs[1] :
(matchs = ua.match(/trident\/([\d.]+)/)) ? sysType.ie = matchs[1] :
(matchs = ua.match(/firefox\/([\d.]+)/)) ? sysType.firefox = matchs[1] :
(matchs = ua.match(/chrome\/([\d.]+)/)) ? sysType.chrome = matchs[1] :
(matchs = ua.match(/opera.([\d.]+)/)) ? sysType.opera = matchs[1] :
(matchs = ua.match(/version\/([\d.]+).*safari/)) ? sysType.safari = matchs[1] : 0;
return sysType;
}
以上 就能够 弹出打印窗口,实现打印。那么如何选择性的 打印页面里的内容呢?
答案是,给不打印的内容 加上一个不显示的样式
<style media="print">//注意 要设置media="print",意思是在打印时变现的样式
.noPrint{//样式名字 随便取,你看得懂就好了
display:none;//设置为打印的时候不显示
}
</style> <div class=".noPrint">
这些不显示,可以把打印按钮放在这里
<input type="button" value="打印" onclick="jsPrint()"/>
这样,在打印的时候,这个div里面的内容就不会显示了。可以给多个元素设置noPrint样式
</div>
以下来个完整的例子:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="~/js/jquery-ui-1.8.20.min.js"></script>
<script type="text/javascript">
function jsPrint() {
if (typeof (getBrowerType().ie) != "undefined") {
document.execCommand('print');
} else {
window.print();
}
} function getBrowerType() {
var sysType = {};
var ua = navigator.userAgent.toLowerCase();
var matchs;
(matchs = ua.match(/msie ([\d.]+)/)) ? sysType.ie = matchs[1] :
(matchs = ua.match(/trident\/([\d.]+)/)) ? sysType.ie = matchs[1] :
(matchs = ua.match(/firefox\/([\d.]+)/)) ? sysType.firefox = matchs[1] :
(matchs = ua.match(/chrome\/([\d.]+)/)) ? sysType.chrome = matchs[1] :
(matchs = ua.match(/opera.([\d.]+)/)) ? sysType.opera = matchs[1] :
(matchs = ua.match(/version\/([\d.]+).*safari/)) ? sysType.safari = matchs[1] : 0;
return sysType;
}
</script>
<style media="print">
.noPrint { display:none;
} </style>
</head>
<body>
<div>
<table>
<thead>
<tr>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期五</th> </tr>
</thead>
<tr>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>体育</td>
</tr>
<tr>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>体育</td>
</tr>
<tr>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>体育</td>
</tr>
<tr>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>体育</td>
</tr> </table>
</div>
<div class="noPrint" style="border:solid 2px green">xxxxxx这些东西不要打印
<input class="noPrint" type="button" value="打印" onclick="jsPrint()" />
</div>
</body>
</html>
js打印的更多相关文章
- js 打印
关于js打印很简单的一段代码 function doPrint() { var newWindow = window.open("打印窗口", "_blank" ...
- js打印html中的内容
js打印方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- js打印Iframe中的内容,并且不需要预览。
js打印Iframe中的内容,并且不需要预览 js代码如下: <script type="text/javascript" language="Javascript ...
- js打印保存用户输入的内容
在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...
- 使用jquery.PrintArea.js打印网页的样式问题
在使用jquery.PrintArea.js打印局部网页样式的时候,发现样式打印不出来,在网上找了好多资料,整理一下分享给大家 一.先看看css的引用文件方式 1.直接在内部的元素中使用”style” ...
- js打印页面指定区域,并去掉页眉上的时间和请求路径
需要通过js打印指定页面的内容 <style media=print type="text/css"> .noprint{visibility:hidden} < ...
- 利用JS打印质数
我爱撸码,撸码使我感到快乐!大家好,我是Counter,今天非常愉快,没有前几天的相对比较复杂的逻辑思维在里面,今天来写写,利用JS打印质数,基本上很多面试,会很经常的考到.那废话不多说,直接上代码: ...
- jquery.wordexport.js打印echarts.js画出的柱状图
jquery.wordexport.js打印echarts.js画出的柱状图. echarts画出的图是不能直接打印出来的(echarts的柱状图是用canvas画出来的),而jquery.worde ...
- 使用lodop.js打印控件打印table并分页等
import {getLodop} from '@/utils/LodopFuncs.js' //打印表格 export default{ // num 打印还是打印预览 conData 对象形式 传 ...
随机推荐
- ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...
- SQLserver查询数据类型为ntext是空或NULL值的方法
--为空的值text ntext select * from lf_newsNg_utf where datalength(newsContentE)=0 or datalength(newsCont ...
- HYSBZ 2301
/*** 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数 **/ #include <iost ...
- FluentConsole是一个托管在github的C#开源组件
FluentConsole是一个托管在github的C#开源组件 阅读目录 1.控制台能有啥滑头? 2.FluentConsole基本介绍 3.使用介绍 4.资源 从该系列的第一篇文章 .NET平台开 ...
- MFC消息顺序
1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要 ...
- zoj p3780 Paint the Grid Again
地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5267 题意:Leo 有一个N*N 的格子,他又有一把魔法刷,这个刷子能把 ...
- PDO--PHP Data Objects
PDO的环境配置:开启支持PDO 在php.ini配置文件里开启: extension=php_pdo.dll extension=php_pdo_mysql.dll 在PDO操作中涉及到类:PDO. ...
- 菜鸟系列之C/C++经典试题(七)
找含单链表的环入口点 :怎样推断单链表中是否存在环(即下图中从结点E到结点R组成的环)? ,则在low进入环后继续绕环遍历一周之前fast必定能与low重合(且必定是第一次重合).于是函数可写例如以下 ...
- ThinkPHP - session 数据库存储驱动
命名格式: Session + 驱动名称 + .class.php 所有的方法要有,但不一定要实现. <?php /** * @category Extend * @package Extend ...
- enum型常量
就像结构体一样,定义一个枚举类型是不分配内存的,仅仅是定义了一个类型的名字,下面可以使用这个名字定义枚举类型的变量 枚举即将变量的值一一列举出来变量的值只限于列举出来的值得范围内 简单的应用如下 #i ...