热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

javascript打印内容方法小结

关于JS打印问题!网上收集+自己总结,需要的朋友可以参考下。
一般打印就用window.print();就OK了
但是一般都是选择性打印所以会调用方法:
代码如下:

function preview()
{
bdhtml=window.document.body.innerHTML;
sprnstr="";
eprnstr="";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}

问题又来了~
会有页脚和页眉~还有横向和纵向之分~
怎么办?
最好就是用到打印预览~
因为它里面有设置
这时必须引用IE的一个控件"WebBrowser"
在页面里引用: 其控件方法:
代码如下:

WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,1) 打印
WebBrowser.ExecWB(7,1) 打印预览
WebBrowser.ExecWB(8,1) 打印页面设置
WebBrowser.ExecWB(10,1) 查看页面属性
WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
WebBrowser.ExecWB(17,1) 全选
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 关闭窗体无提示

示例:
';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(7, 1);//打印预览
WebBrowser1.outerHTML = "";//从代码中清除插入的html代码
pagesetup_default();//预览结束后页眉页脚恢复默认值
setdivvisible("div1");//预览结束后显示按钮
}
function print() //打印函数
{
pagesetup_null();//打印之前去掉页眉,页脚
setdivhidden("div1"); //打印之前先隐藏不想打印输出的元素
var WebBrowser = '';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);//在body标签内加入html(WebBrowser activeX控件)
WebBrowser1.ExecWB(6, 1);//打印
WebBrowser1.outerHTML = "";//从代码中清除插入的html代码
pagesetup_default();//打印结束后页眉页脚恢复默认值
setdivvisible("div1");//打印结束后显示按钮
}



表格一:






111111111111
111111111111
111111111111



----------------------------------------------------------------------------
JS实现局部打印和预览:
第一种:
JS 实现简单的页面局部打印
代码如下:

function preview(oper)
{
if (oper <10){
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="";//设置打印开始区域
eprnstr="";//设置打印结束区域
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();
}
}

推荐阅读
  • 浏览器提示网站‘不安全’的原因及解决方法
    在日常上网过程中,我们经常会遇到浏览器提示网站‘不安全’的情况。面对这种情况,不同的人有不同的处理方式,但浏览器为什么会发出这样的警告?本文将详细解析其中的原因,并提供相应的解决方案。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 关于进程的复习:#管道#数据的共享Managerdictlist#进程池#cpu个数1#retmap(func,iterable)#异步自带close和join#所有 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • web页面报表js下载,web报表软件 ... [详细]
  • Java 基础:抽象类与接口详解
    本文详细介绍了 Java 中的抽象类和接口的概念、声明方式及其主要区别。包括抽象方法的声明、抽象类的特性、接口的实现规则等。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • 本文介绍了如何将两个线性表LA和LB合并为一个线性表LA,并确保LA包含所有唯一元素。此外,还详细讲解了有序线性表的合并方法,确保合并后的线性表LC中的元素按非递减顺序排列。 ... [详细]
  • 本文总结了设计、开发和部署Web应用程序时应遵循的一些最佳实践,这些实践结合了个人经验和权威资料,旨在帮助开发者提高Web应用的安全性。 ... [详细]
  • 英特尔推出第三代至强可扩展处理器及傲腾持久内存,AI性能显著提升
    英特尔在数据创新峰会上发布了第三代至强可扩展处理器和第二代傲腾持久内存,全面增强AI能力和系统性能。 ... [详细]
  • 本文通过一个具体的案例,展示了如何使用 Python 爬虫技术从京东网站爬取手机的价格和参数。最近发布的 iPhone X 虽然价格昂贵,但不妨碍我们探索其他高性价比的国产手机。 ... [详细]
  • 本文整理了 DedeCMS 中常用的标签分类及其具体应用方法,包括标题调用、导航调用、文章列表、子栏目调用、尾部信息调用等。 ... [详细]
  • 深入理解Select、Poll和Epoll
    本文详细介绍了三种常用的I/O多路复用技术:Select、Poll和Epoll。通过对比它们的工作原理和性能特点,帮助读者更好地选择适合的I/O模型。 ... [详细]
  • 阿里云OSS访问权限错误:AccessDenied
    在使用阿里云对象存储服务(OSS)时,遇到AccessDenied错误,提示您无权访问指定对象,原因可能与Bucket的ACL设置有关。 ... [详细]
  • 本文介绍了三种解决 Git Push 冲突的方法,包括创建新分支、手动解决冲突和强行推送。这些方法适用于不同的开发场景,如版本迭代、多人协作和个人开发。 ... [详细]
author-avatar
葬宝御用小奶瓶2004
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有