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 对象形式 传 ...
随机推荐
- 深夜,用canvas画一个时钟
深夜,用canvas画一个时钟 查看demo 这几天准备阿里巴巴的笔试,可以说已经是心力交瘁,自从阿里和蘑菇街的内推被刷掉之后,开始越来越怀疑起自己的能力来,虽然这点打击应该是微不足道的.毕竟校招在刚 ...
- poj 1430 第二类斯特林数
1 #include <iostream> #include <cmath> #include <algorithm> using namespace std; i ...
- Ants (POJ 1852)
题目描述: Description An army of ants walk on a horizontal pole of length l cm, each with a constant spe ...
- MongoDB入门(1)--安装配置
第一步:下载安装 首先当然是找到官方网站http://www.mongodb.org/ 进入下载页面 可以看到,当前最新版本是2.4.5,我的电脑是64位的win7,所以要下载第一个(说明一下,第二个 ...
- 转:按需加载html 图片 css js
按需加载是前端性能优化中的一项重要措施,按需加载是如何定义的呢?顾名思义,指的是当用户触发了动作时才加载对应的功能.触发的动作,是要看具体的业务场景而言,包括但不限于以下几个情况:鼠标点击.输入文字. ...
- cocos2dx进阶学习之CCNode
继承关系 CCNode -> CCObject CCNode在cocos2dx中抽象舞台对象,需要渲染的对象都是从CCNode派生,包括CCScene,CCLayer,CCSprite等等 C ...
- BZOJ 1828
program bzoj1828; ; check=; type node=record l,r,s,a:longint; end; ..maxn*] of node; a,b,c:..maxn] o ...
- 【Hibernate】Remember that ordinal parameters are 1-based!
此错误的官方解释:1.当hql中不需要参数,而传递了参数导致,2.set参数时没有从0开始. 但此问题不属这两种. 检查导入的libraries无错误. 最后在网络搜索到:http://qihaihu ...
- java实现文件夹(包括其中的子文件夹、子文件)的复制——递归
这是学校java课的一道实验题,题目如下:编程,根据指定的源和目标位置,完成指定文件或文件夹(包括其中的子文件夹.子文件)的复制. 以下是我的实现,使用了递归: package com.simon.m ...
- PyQt中弹出对话框操作
经常有初学者搞不清楚如何在PyQt中弹出对话框,以及如何处理返回值.这篇文章会举例说明,界面采用手工编写. 我们一般说的对话框指的是模态对话框(Modal Dialogue Box),一旦弹出,就不能 ...