該提示在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(); }