var CLodopJsState; //====加载C-Lodop的过程(用script元素动态引用主文件CLodopfuncs.js)==== function loadCLodop() { if (CLodopJsState == "loading" || CLodopJsState == "complete") return; CLodopJsState = "loading"; var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement; var JS1 = document.createElement("script"); var JS2 = document.createElement("script"); var JS3 = document.createElement("script"); //优先调用本地(Localhost)8000端口服务: JS1.src = "http://localhost:8000/CLodopfuncs.js?priority=2"; //如果失败,则调用本地18000端口: JS2.src = "http://localhost:18000/CLodopfuncs.js?priority=1"; //最后如本地无C-Lodop时,则演示通过本服务远程打印: // JS3.src = "/app/shop/view/public/js/CLodopfuncs.js"; JS1.onload = JS2.onload = JS3.onload = function() {CLodopJsState = "complete";} JS1.onerror = JS2.onerror = JS3.onerror = function(evt) {CLodopJsState = "complete";} head.insertBefore(JS1, head.firstChild); head.insertBefore(JS2, head.firstChild); head.insertBefore(JS3, head.firstChild); } //本例演示所有浏览器都调用C-Lodop: function needCLodop() { return true; } //执行加载: if (needCLodop()) { loadCLodop(); } //====获取LODOP对象的主过程:==== function getLodop(oOBJECT, oEMBED) { var LODOP; var strCLodopUpdate = "
Web打印服务CLodop需升级!点击这里执行升级,升级后请刷新页面。"; try { try { LODOP = getCLodop(); //获得主对象(getCLodop是在CLodopfuncs.js定义的) } catch (err) {} // if (!LODOP && CLodopJsState !== "complete") { // if (CLodopJsState == "loading") // alert("网页还没下载完毕,请稍等一下再操作."); // else // alert("没有加载CLodop的主js,请先调用loadCLodop过程."); // return; // } if (!LODOP) { // document.body.innerHTML = strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + document.body.innerHTML; layer.open({ type: 1, area: ['450px'], content: "Web打印服务CLodop未安装启动,点击这里去下载安装
(若此前已安装过,可点这里直接再次启动)" //这里content是一个普通的String }); return; } else { if (CLODOP.CVERSION < "4.0.9.9") { layer.open({ type: 1, area: ['450px'], content: "Web打印服务CLodop版本过低,需升级,请点击这里去下载安装
(若此前已安装过,可点这里直接再次启动)" //这里content是一个普通的String }); return; } if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED); if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT); } //清理旧例子的object或embed元素(避免乱提示干扰理解): if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED); if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT); return LODOP; } catch (err) { alert("getLodop出错:" + err); } }