打印modal框中在線生成的二維碼

二維碼由jquery.qrcode.min.js將json字符串轉換而成,細節再也不贅述,效果如圖:
clipboard.pngjquery

調用瀏覽器打印功能(window.print())時,會連同底層父頁面中的活動列表一塊兒疊加打印,效果很糟糕。json

在網上搜了一些方法,作法是獲取二維碼dom元素賦值給整個dom的body,而後再調用瀏覽器的打印功能,缺點是會改變整個頁面,須要刷新恢復。但問題還不止於此,因爲二維碼是在線生成的,獲取到的二維碼dom元素沒有實際內容,因此這個方法不可行。瀏覽器

最終的解決辦法以下:
底層父頁面定義樣式dom

<style>
    @media print {
        .noprint {
            display: none;
        }
    }  
</style>

在底層父頁面的最外層元素標籤中添加該樣式,一樣,modal框中的打印和關閉按鈕也加上這個樣式,直接調用瀏覽器打印功能就能夠了,效果如圖:spa

clipboard.png

相關文章
相關標籤/搜索