window.print()是调用浏览器打印的方法。但默认是打印window当前所在页的整个页面,那有没有办法,只打印某一块区域,或者说,只打印某一个Dom元素内的元素呢。
function BrowserPrint (Dom){
window.document.body.innerHTML = Dom.innerHTML;
window.print();
// 打印完成以后一定要重新刷新页面,因为window被要打印的Dom取代了
window.location.reload();
}
const printDom = window.document.getElementById('content-area');
BrowserPrint (printDom);
遇到一个需求,打印iframe标签src指向的文件,稍微有点麻烦,仍在探索中,可能是因为跨域的问题,导致获取 iframe的contentWindow时不顺利,也就没办法调用iframe子页面的print方法了。