好久没有写前端的文章了,今天就来讲说js一个比较方便的功能,打印当前页面或保存成pdf吧。html
js有一个原生的函数,print(),顾名思义就是打印。可是有时候咱们须要打印页面某些部分,因此须要对页面进行处理一下:前端
能够写一个函数去封装:函数
function preview() { body = window.document.body.innerHTML; startpoint= "<!--startpoint-->"; endpoint= "<!--endpoint-->"; printdb= body.substring(body.indexOf(startpoint) + 17); printdb = printdb.substring(0, printdb.indexOf(endpoint)); window.document.body.innerHTML = printdb ; window.print(); window.document.body.innerHTML = body ; }
这里首先获取当前页面的innerHtml,而后设置想要页面开始的点,和结束的点,这样就能够匹配出咱们想要打印的部分了,this
接着咱们须要把当前页面的innerhtml设置为打印的页面,而后打印,最后把页面设置会一开始的样子。spa
固然若是咱们不须要打印部分页面的话直接:3d
window.print();
就搞定了。code
打印效果图:htm
不过这里的打印会出现咱们input有值,可是打印的pdf中input没有值的状况:blog
因此咱们须要将jq将input中的值循环赋值:input
var input = $('input'); input.each(function () { $(this).attr("value", $(this).val()); });
这样就不会出现input不打印的状况了。