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 对象形式 传 ...
随机推荐
- python学习之day9
队列queue 队列是线程安全的,它保证多线程间的数据交互的一致性. 先进先出队列Queue import queue q = queue.Queue(maxsize=3) #maxsize为队列最大 ...
- poj 1715 Hexadecimal Numbers 排列组合
/** 大意: 给定16进制数的16个字母,,求第k大的数,,要求数的长度最大为8.,并且每个数互不相同. 思路: 从高到低挨个枚举,每一位能组成的排列数 ,拿最高位来说,能做成的排列数为15*A(1 ...
- border-radius.htc为ie6-8实现圆角
~~圆角是比较常用的css3属性,但是ie6-8并不支持圆角,可用border-radius.htc html组件实现圆角, border-radius.htc内部应用vml进行了重绘 border ...
- Sicily-1009 梅森素数
一.梅森素数 素数有无穷多个,却只有极少量的素数能表示成2p-1(p为素数)的形式.在不大于257的素数中,当p=2.3.5.7.13.17.19.31.67.127.257时,2p-1是素数,其它都 ...
- poj 1442 Black Box(优先队列&Treap)
题目链接:http://poj.org/problem?id=1442 思路分析: <1>维护一个最小堆与最大堆,最大堆中存储最小的K个数,其余存储在最小堆中; <2>使用Tr ...
- css网页自适应-2
昨天中午Google进行了一次在线讲座,讲述自适应网页设计的概念和方法,维护同一个网页代码,即可使网站在多种浏览设备(从桌面电脑显示器到智能手机或其他移动产品设备)上具有更好的阅读体验,这里我将该讲座 ...
- 【Web】throw和throws的区别和用法。
1.throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.如下面例子所示: public cl ...
- HDU 3932 Groundhog Build Home 【基础模拟退火】
和刚才那道是一模一样 不过求的是最小的,只要稍微修改一下就可以了~ //#pragma comment(linker, "/STACK:16777216") //for c++ C ...
- 【集训笔记】母函数【母函数模板】【HDOJ1028【HDOJ1085
以下资料摘自 http://www.cnblogs.com/wally/archive/2012/07/13/hdu1028_1085_1171_.html 生成函数是说,构造这么一个多项式函数g(x ...
- Storm 配置图文解析
Storm 配置图文解析 參考阅读:http://www.xiaofateng.com/? p=959 ============================== | sample-topology ...