LodopFuncs.js 4.3 KB

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