js:打印页面且自定义页眉页脚
Posted 一种清孤不等闲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js:打印页面且自定义页眉页脚相关的知识,希望对你有一定的参考价值。
1,下载jqprint.js,如果报错,可能是jquery的版本太低了。
解决:1,更换jquery
2,或者引入 jquery-migrate.min.js
<input type="button" id="printtest" value="打印" onclick="printtest()">
<div id="printcontent">
<div>test</div>
<div>test</div>
<div>test</div>
</div>
<script>
function printtest(){
$(‘#printcontent‘).jqprint()
}
</script>
实际上jqprint.js,还是调用window.print()
2,自定义页眉页脚
<input type="button" id="printtest" value="打印" onclick="printtest()">
<div id="printcontent">
<div class=‘header-test‘>页眉</div>
<div class=‘footer-test‘>页脚</div>
<table>
<thead>
<tr><td><div class=‘header‘></div><td></tr>
</thead>
<tbody>
<tr><td>
<div>test</div>
<div>test</div>
<div>test</div>
<td></tr>
</tbody>
<tfoot>
<tr><td><div class=‘footer‘></div><td></tr>
</tfoot>
</table>
</div>
在写css之前先了解一下面的知识:
css3 媒体查询 @media
@media 查询:可以针对不同媒体类型定义不同的样式
媒体类型:
all:用于所有设备
print:用于打印机和打印预览
screen:用于屏幕显示
...
这里就简单介绍上面几个。
https://www.runoob.com/cssref/css3-pr-mediaquery.html
<style> @media print {
.header-test,.header,
.footer-test,.footer {
height:100px
}
.header-test {
position:fixed;
top:0
}
.footer-test {
position:fixed;
bottom:0
}
-------分界线(上面就可以实现每页上都有页眉页脚了)-------------
#printtest {
display:none;
}
.header-test,.footer-test {
display:block;
}
}
# 网页上隐藏自定义的页眉页脚,打印时才显示
@media screen {
#printtest {
display:block;
}
.header-test,.footer-test {
display:none;
}
}
</style>
注:不过这种方式,只适合谷歌浏览器,测试过搜狗、ie都有些问题。
以上是关于js:打印页面且自定义页眉页脚的主要内容,如果未能解决你的问题,请参考以下文章
jquery.jqprint-0.3.js打印功能 以及页眉页脚设置显示与否