代码用旧版的printarea进行网页打印

(function (jQuery) {
    var printAreaCount = 0;
    jQuery.fn.printArea = function () {
        var ele = jQuery(this);
        var idPrefix = "printArea_";
        removePrintArea(idPrefix + printAreaCount);
        printAreaCount++;
        var iframeId = idPrefix + printAreaCount;
        var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
        iframe = document.createElement('IFRAME');
        jQuery(iframe).attr({
            style: iframeStyle,
            id: iframeId
        });
        document.body.appendChild(iframe);
        var doc = iframe.contentWindow.document;
        jQuery(document).find("link").filter(function () {
            return jQuery(this).attr("rel").toLowerCase() == "stylesheet";
        }).each(
                function () {
                    doc.write('<link type="text/css" rel="stylesheet" href="'
                            + jQuery(this).attr("href") + '" >');
                });
//        doc.write('<div class="printlogo" ><img src="'+webPath+'/resources/style/'+version+'/usercenter/images/printlogo.jpg"/> </div>');
        doc.write('<div class="' + jQuery(ele).attr("class") + '">' + jQuery(ele).html()
                + '</div>');
       var bdhtml= doc.body.innerHTML;
        var a=bdhtml.substr(bdhtml.indexOf("<div class=\"printtitle marginb30 margint30\">"),bdhtml.indexOf("<div class=\"printtitle marginb30 margint30\">")+1000);
         doc.close();
        var frameWindow = iframe.contentWindow;
        frameWindow.close();
        frameWindow.focus();
      var a = frameWindow.print();
        var b="1";
    }
    var removePrintArea = function (id) {
        jQuery("#iframe" + id).remove();
    };
})

原始代码一直用着没问题,突然有的浏览器点击打印时预览出来一片空白

查看官网最新的源码发现

doc = iframe.contentWindow.document; 使用时需要先open

加上doc.open();问题解决

JQuery printarea 打印空白问题解决相关推荐

  1. h5打印时如何控制打印区域(基于jquery.PrintArea.js实现)

    h5打印时如何控制打印区域(基于jquery.PrintArea.js实现) javaSript 的 window.print() 打印时打印范围不可控制,而jquery.PrintArea.js可以 ...

  2. jquery.PrintArea.js 打印

    插件下载:http://plugins.jquery.com/PrintArea/ <script src="js/jquery-1.7.2.min.js" type=&qu ...

  3. PrintArea打印,@media screen解决移动web开发的多分辨率问题,@media print设置打印的样式...

    PrintArea打印,局部DIV打印插件,依赖JQuery. github:https://github.com/RitsC/PrintArea 当打印时需要临时改变页面布局,可以使用 @media ...

  4. 批量打印之jquery局部打印

    上个月弄了个批量打印的功能,觉得以后可能用得着,就写个博客记一下,免得忘记了.说这个之前,先来说一下我用过的两个打印插件,一个是Jquery打印插件(这次开始用的),一个是smsx.cab控件的打印插 ...

  5. Jquery网页打印

    今天做项目中,需要用到打印功能,开始的时候用js来调用打印机,之后样式,还有什么的都没有了,之后ie有时候还运行不了,后来就在网上找,之后发现jquery有打印插件,所以就用了,并且发现jquery打 ...

  6. ACAD打印空白无内容的解决一例

    ACAD打印空白无内容的解决一例 协作方传来dwg文件,2004格式,也未加密,需转成pdf格式,结果pdf空白无内容. 换成实际打印机,预览也无内容,传到不同电脑.不同版本的CAD,各人反应还是不行 ...

  7. Updatepanel与Jquery合用时的问题解决

    Updatepanel与Jquery合用时的问题解决,可谓双剑合壁,但是当updatepanel局部刷新时,会有jquery效果丢失的问题.解决办法如下: 用 Sys.WebForms.PageReq ...

  8. android 打印机蜂鸣器,CANON喷墨打印机 蜂鸣器响5声不打印的问题解决办法

    CANON喷墨打印机 蜂鸣器响5声不打印的问题解决办法 通常我们如果遇到CANON打印机蜂鸣器响5声即表示废墨仓满,一般都可以通过按键且使用02.03.05墨盒的机型按下面方法操作:同时按住左.右两键 ...

  9. html转换成canvas一片空白,html2canvas截图空白问题怎么解决 html2canvas截图空白问题解决方法...

    本篇文章小编给大家分享一下html2canvas截图空白问题解决方法,通过代码图文详细分析了问题及解决方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 项目使用的reac ...

最新文章

  1. osgEarth3.0 加载天地图
  2. GDPR:我们将如何对待你的数据?
  3. 两平面平行方向向量关系_一文读懂 GDT 中的平面度
  4. RssTookit使用小结
  5. mysql 主从数据库设置方法
  6. 涨知识!Google 黑客常用搜索语句一览 | 原力计划
  7. 飞思卡尔9S12X系列双核中的协处理器XGATE使用方法
  8. Kubernetes系统架构演进过程与背后驱动的原因
  9. rabbitmq批量确认结合qos导致的消费者假死和消息丢失问题
  10. flash 围棋_围棋怎么玩,最还有flash
  11. 14年间,用友U9 cloud如何让众多“专精特新”成长为行业冠军
  12. 计算机硬件部份的核心部件是,计算机硬件的核心部分是什么?
  13. 抖音、腾讯世纪大和解,透露了哪些信息?
  14. 【目标检测】K-means计算anchors
  15. 夫唯不争——世赛网络系统管理赛项小记
  16. HZYWX-技术交流-开发中的导入导出
  17. Iphone IPA软件制作教程
  18. ubuntu如何连接显示器
  19. 10 行 Python 代码能实现哪些有趣功能?
  20. Python编写简单的计算器,用户输入两个数字和一个四则运算符,计算结果

热门文章

  1. 无须盲目试错,把握成功创业的路线图
  2. 煤气表液晶LCD显示屏
  3. 寂 寞的舞姿,忧 怨的舞步!
  4. [Jetson]查看nvidia orin 上安装的Jetson的版本
  5. 物联网行业的下一个风口——从“共享时代”到“无人时代”
  6. 关于word修改页码
  7. [附源码]计算机毕业设计JAVA面向服装集群企业的个性化定制服务系统
  8. 寄存器>缓存>内存>硬盘
  9. 摇晃人间,窥视《她走路的姿势》 琳大侠翻唱小众歌曲
  10. 都匀市全国计算机二级考试,官宣!9月份确定开考全国计算机二级考试……