• C-Lodop设置页面一加载就打印


    C-Lodop由于是服务不是np插件,调用打印语句(print或preview等)时机太早,在页面第一次加载完成后有几百毫秒时间等待WebSocket通讯服务准备完成,在没完成的时候会提示“C-Lodop未准备好”“WebSocket没准备好”。新版修改了该提示,变为“网页还没下载完毕,请稍等一下再操作.”只是修改了提示内容,还是同一问题。

    正常进入web页面进行打印,一般是先进入页面,然后点击页面的某个按钮进行打印,在打印按钮里获取LODOP对象。
    如果是要一进入页面就打印,或想避免因没准备好久点了这个按钮导致的这个提示,可以加延迟,或加等C-Lodop准备好再执行打印语句的方法。

    可以用JS加延迟,把获取LODOP对象这件事延迟一下,例如延迟500毫秒。
    setTimeout("prn1_preview()","500"); //500毫秒后执行prn1_preview()函数,只执行一次。

    也可以加等c-lodop准备好,在调用该方法的语句,由于是混合部署,需要判断一下,:
    if (needCLodop()) {
    //C-Lodop----begin----
    window.On_CLodop_Opened=function(){
    prn1_preview(); //prn1_preview()是自己写的调用打印方法
    window.On_CLodop_Opened=null;
    };
    //C-Lodop----end----
    } else
    window.onload = function(){prn1_preview();}; //使用lodop控件时的调用

    如果只使用C-Lodop,则不需要附加判断,直接用//C-Lodop----begin----和//C-Lodop----end----这两个注释之间的代码即可。

    目前最新版修改了该提示,最新版提示的是“网页还没下载完毕,请稍等一下再操作”
    可以在LodopFuncs.js里查看一下,这提示的来源此文件,如果提示的是标题的,应该是旧版的LodopFuncs.js。

  • 相关阅读:
    java正则表达式学习
    使用TypeScript,AngularJs和Web API构建基本的CRUD Web 应用
    漫话CLR ---- 常量与字段
    漫话CLR ---- 属性
    漫话CLR ---- 定制Attribute
    分享一个线程安全的加载窗体
    漫话CLR ---- 类型基础
    漫话CLR ---- 委托
    js 数组遍历for..in弊端
    使用call来实现继承
  • 原文地址:https://www.cnblogs.com/huaxie/p/9593208.html
Copyright © 2020-2023  润新知