记录Window.print()踩过的坑

被恶心了…

第一 . 打印, 部分打印.
直接打印 就调用 Window.print() 即可, 会打印你当前页面的内容, 但是这里存在一个问题, 有时候调用打印预览的时候 显示的是空白的页面, 这是因为 加载顺序的问题, 你的页面还没加载完成 但是打印的方法已经提交.
在需要打印内容 加一个div 标上ID 就行
	bdhtml=window.document.body.innerHTML; 
	var jubuData = document.getElementById("print").innerHTML;
	 //把获取的 局部div内容赋给body标签, 相当于重置了 body里的内容
	 window.document.body.innerHTML= jubuData; 
	 window.print();
	 location.reload(); //重新刷新当前窗口, 很重要. 不刷新会导致除局部之外的全失效了
	 window.document.body.innerHTML=bdhtml;//重新给页面内容赋值;
② 不需要的地方加上这个样式就行, @media print 这个的 代表的打印时候会取的样式, 平常不影响.
@media print
{
	.notprint { display:none }
}

其他的取部分的 其他人博客上也写的很多了

踩坑一:
打印 a 链接的时候 会出现它的地址

在这里插入图片描述

地址暴露不太友好. 在 @media print 里面加上这个
a[href]:after {
    	content: none !important;
  	}

在这里插入图片描述

踩坑二: 图片不显示

图还没加载出来 打印方法就上了

 $('img').load(function(){
			   	// 加载完成之后执行某方法
 });

参照:链接: javaScript & jquery完美判断图片是否加载完毕.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值