LodopFuncs.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. var CreatedOKLodop7766=null;
  2. var LodopSetup = true;
  3. function getLodop(oShowPrint,oOBJECT, oEMBED) {
  4. /**************************
  5. 本函数根据浏览器类型决定采用哪个页面元素作为Lodop对象:
  6. IE系列、IE内核系列的浏览器采用oOBJECT,
  7. 其它浏览器(Firefox系列、Chrome系列、Opera系列、Safari系列等)采用oEMBED,
  8. 如果页面没有相关对象元素,则新建一个或使用上次那个,避免重复生成。
  9. 64位浏览器指向64位的安装程序install_lodop64.exe。
  10. **************************/
  11. LodopSetup = true;
  12. oShowPrint = oShowPrint || document.documentElement;
  13. var strHtmInstall="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='"+GetPrePath()+"/attach/install_lodop32.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
  14. var strHtmUpdate = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='" + GetPrePath() + "/attach/install_lodop32.zip' target='_self'>执行升级</a>,升级后请重新进入。</font>";
  15. var strHtm64_Install = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='" + GetPrePath() + "/attach/install_lodop64.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
  16. var strHtm64_Update = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='" + GetPrePath() + "/attach/install_lodop64.zip' target='_self'>执行升级</a>,升级后请重新进入。</font>";
  17. var strHtmFireFox="<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
  18. var strHtmChrome="<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
  19. var LODOP;
  20. try{
  21. //=====判断浏览器类型:===============
  22. var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
  23. var is64IE = isIE && (navigator.userAgent.indexOf('x64')>=0);
  24. //=====如果页面有Lodop就直接使用,没有则新建:==========
  25. if (oOBJECT!=undefined || oEMBED!=undefined) {
  26. if (isIE)
  27. LODOP=oOBJECT;
  28. else
  29. LODOP=oEMBED;
  30. } else {
  31. if (CreatedOKLodop7766==null){
  32. LODOP=document.createElement("object");
  33. LODOP.setAttribute("width",0);
  34. LODOP.setAttribute("height",0);
  35. LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");
  36. if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
  37. else LODOP.setAttribute("type","application/x-print-lodop");
  38. document.documentElement.appendChild(LODOP);
  39. CreatedOKLodop7766=LODOP;
  40. } else
  41. LODOP=CreatedOKLodop7766;
  42. };
  43. //=====判断Lodop插件是否安装过,没有安装或版本过低就提示下载安装:==========
  44. if ((LODOP == null) || (typeof (LODOP.VERSION) == "undefined")) {
  45. LodopSetup = false;
  46. if (navigator.userAgent.indexOf('Chrome')>=0)
  47. oShowPrint.innerHTML = strHtmChrome + oShowPrint.innerHTML;
  48. if (navigator.userAgent.indexOf('Firefox')>=0)
  49. oShowPrint.innerHTML = strHtmFireFox + oShowPrint.innerHTML;
  50. if (is64IE) document.write(strHtm64_Install); else
  51. if (isIE) document.write(strHtmInstall); else
  52. oShowPrint.innerHTML = strHtmInstall + oShowPrint.innerHTML;
  53. return LODOP;
  54. } else
  55. if (LODOP.VERSION < "6.1.9.3") {
  56. LodopSetup = false;
  57. if (is64IE) document.write(strHtm64_Update); else
  58. if (isIE) document.write(strHtmUpdate); else
  59. oShowPrint.innerHTML = strHtmUpdate + oShowPrint.innerHTML;
  60. return LODOP;
  61. };
  62. //=====如下空白位置适合调用统一功能(如注册码、语言选择等):====
  63. LODOP.SET_LICENSES("广州交通信息化建设投资营运有限公司", "864607380837275858895969799998", "", "");
  64. //============================================================
  65. return LODOP;
  66. } catch(err) {
  67. if (is64IE)
  68. oShowPrint.innerHTML = "Error:" + strHtm64_Install + oShowPrint.innerHTML; else
  69. oShowPrint.innerHTML = "Error:" + strHtmInstall + oShowPrint.innerHTML;
  70. return LODOP;
  71. };
  72. }