zoukankan      html  css  js  c++  java
  • jqprint的网页打印,打印预览可以包含图片

    自己负责的模块需要有个试卷打印的功能,需要将网页特定范围内的内容打印出来,所以选择了jquery.jqprint脚本

    用起来也非常简单。

        //打印
        $("#printPage").jqprint({
            debug: false,//如果是true则可以显示iframe查看效果,默认是false
            importCSS: true,//true表示引进原来的页面的css,默认是true。
            printContainer: true,//表示如果原来选择的对象必须被纳入打印,默认是true。
            operaSupport: true///表示如果插件也必须支持歌opera浏览器,默认是true。
        });

    但是遇到一个问题,就是在页面有很多图片的时候,用谷歌浏览器打印预览的时候,预览的页面不会显示所有的图片,这样打印出来也没有显示图片。

    查来查去,只能是jqprint脚本的问题,最后多次测试,发现将脚本里面

    setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);

    的时间从1000调至3000就会显示所有图片。

    虽说找到了原因,程序跑通了,但是原理还是不知道,希望有人能看到这篇随笔来指点一下。

    我猜应该是打印预览也是慢慢加载的,如果给的时间多的话,图片在这个时间能加载出来,就会在打印预览时出现。

    这个问题还是没有警醒的看,其实设置成3000还是不能应对所有情况。应该按照打印试卷的页数来算,这个计时的时间就是页数×200。这样就足够了

    setTimeout(function () { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } LoadingEnd(); }, pagenumber * 100 > 2000 ? pagenumber * 100 : 2000);

  • 相关阅读:
    《时间的朋友》跨年演讲金句
    2017《时间的朋友》罗振宇跨年演讲ppt
    Calculus on Computational Graphs: Backpropagation
    Machine Learning Trick of the Day (1): Replica Trick
    What Does “Neurons that Fire Together Wire Together” Mean?
    How to Tell Science Stories with Maps
    模型选择的一些基本思想和方法
    A Gentle Guide to Machine Learning
    EM算法(Expectation Maximization Algorithm)
    混合高斯模型(Mixtures of Gaussians)和EM算法
  • 原文地址:https://www.cnblogs.com/sanqianjin/p/4836643.html
Copyright © 2011-2022 走看看