不得不說的事-打印

通常後臺系統都會有打印導出的功能,在前端,打印調用的是window.print()調用打印機,而我們又不想爲了打印而把整個系統的body內容給替換掉。

方案一:通過離屏iframe實現不跳頁面,不替換原本內容打印。

  在html中寫入iframe標籤,使其定位到不可見的位置,然後獲取對應的dom,替換掉contentWindow.body.innerHTML = 需要打印的內容,打印內容的樣式需要自己加入到內容中,通過行內樣式或者用style標籤包裹,如果有系統的css文件可以將其轉化爲字符串用style引入。不用離屏的話就需要控制iframe的顯示隱藏,在調用print之前顯示,調用之後隱藏,print是同步操作,所以可以在print後寫入對應操作。

方案二:通過window.print.call(dom)來實現打印,print接口必須是窗口類型才能調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章