前端js浏览器打印

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方法了。

猜你喜欢

转载自blog.csdn.net/glorydx/article/details/114768894