打印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

相关文章
相关标签/搜索