由于項目中用到了打印功能,也在網上查詢了些方法,總體來說有兩個思路:
dom替換
新窗口打印
dom替換會導致事件失效,如果重新加載的話又會影響到體驗;而新窗口因為樣式問題也不好解決,都不滿足項目的需求,于是把自己的方法寫一下,方便自己以后查詢。
思路 :其實很簡單,當前頁面有各種問題的話干脆就跳轉新頁面,在跳轉到新頁面后 執行 window.print(); 方法,window.print();方法不是異步的,所以當執行window.print();后,只有你選擇確定或者取消才會接著執行下面的代碼,這樣的話就只需要在 window.print();下面添加返回上個頁面的代碼即可,話不多說,上代碼!
window.print();
javaScript:history.go(-1);
對,你沒看錯,就是這么簡單,進入頁面調起打印預覽,完成后返回上個頁面