该提示在Lodop旧版本中是: 提示"WebSocket没准备好,点确定继续",提示“C-Lodop没准备好”,新版本修改了该提示的描述“网页还没下载完毕,请稍等一下再操作.”,让问题更解释更直观。
问题原因:调用C-Lodop云打印时机太早,调用打印语句(print或preview等)时机太早,在页面第一次加载完成后有几百毫秒时间等待WebSocket通讯服务准备完成。
解决方法:
方法一:等待C-Lodop准备好再执行调用打印方法打印,用如下写法,OpenPreview()代表自己的打印方法,如下写法兼容Lodop和c-lodop,如果是只使用c-lodop的方式,可以只写c-lodop部分(即只用C-Lodop----begin和C-Lodop----end两个注释之间的部分),此问题有个单独的博文 C-Lodop设置页面一加载就打印
if (needCLodop()) { //如果是只运行C-Lodop,只需下边的代码, //C-Lodop----begin---- window.On_CLodop_Opened=function(){ OpenPreview(); //OpenPreview()是调用打印方法 window.On_CLodop_Opened=null; }; //C-Lodop----end---- } else window.onload = function(){OpenPreview();}; //使用lodop控件时的调用
方法二:设置时间延迟执行,例如
setTimeout("print()","500"); //500毫秒后执行print()函数,只执行一次。 function print(){ LODOP.PRINT_INIT("测试打印"); LODOP.ADD_PRINT_TEXT(10,10,300,200,"这是纯文本行"); LODOP.PRINT(); }