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。