在使用 Lodop、C-Lodop打印控件时,使用火狐浏览器不报错,换成IE浏览器时报404错误(找不到控件的下载位置):

以前的配置如下:

1.spring-servlet.xml中配置(找到打印控件的位置): <mvc:resources location="/WEB-INF/print/" mapping="/print/**"/>

下面是项目部分截图:

2.LodopFuncs.js的代码:

var CreatedOKLodop7766=null;
//====判断是否需要安装CLodop云打印服务器:====
function needCLodop(){
    try{
var ua=navigator.userAgent;
if (ua.match(/Windows\sPhone/i) !=null) return true;
if (ua.match(/iPhone|iPod/i) != null) return true;
if (ua.match(/Android/i) != null) return true;
if (ua.match(/Edge\D?\d+/i) != null) return true;
if (ua.match(/QQBrowser/i) != null) return false;
var verTrident=ua.match(/Trident\D?\d+/i);
var verIE=ua.match(/MSIE\D?\d+/i);
var verOPR=ua.match(/OPR\D?\d+/i);
var verFF=ua.match(/Firefox\D?\d+/i);
var x64=ua.match(/x64/i);
if ((verTrident==null)&&(verIE==null)&&(x64!==null)) 
return true; else
if ( verFF !== null) {
verFF = verFF[0].match(/\d+/);
if ( verFF[0] >= 42 ) return true;
} else 
if ( verOPR !== null) {
verOPR = verOPR[0].match(/\d+/);
if ( verOPR[0] >= 32 ) return true;
} else 
if ((verTrident==null)&&(verIE==null)) {
var verChrome=ua.match(/Chrome\D?\d+/i);
if ( verChrome !== null ) {
verChrome = verChrome[0].match(/\d+/);
if (verChrome[0]>=42) return true;
};
};
        return false;
    } catch(err) {return true;};
};
//====页面引用CLodop云打印必须的JS文件:====
if (needCLodop()) {
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
var oscript = document.createElement("script");
oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1";
head.insertBefore( oscript,head.firstChild );
//本机云打印的后补端口8001:
oscript = document.createElement("script");
oscript.src ="http://localhost:8001/CLodopfuncs.js?priority=2";
head.insertBefore( oscript,head.firstChild );
};
//====获取LODOP对象的主过程:====
function getLodop(oOBJECT,oEMBED){
    var strHtmInstall="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop32.exe'target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtmUpdate="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtm64_Install="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtm64_Update="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtmFireFox="<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
    var strHtmChrome="<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
    var strCLodopInstall="<br><font color='#FF00FF'>CLodop云打印服务(localhost本地)未安装启动!点击这里<ahref='CLodop_Setup_for_Win32NT.exe' target='_self'>执行安装</a>,安装后请刷新页面。</font>";
    var strCLodopUpdate="<br><font color='#FF00FF'>CLodop云打印服务需升级!点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
    var LODOP;
    try{
        var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
        if (needCLodop()) {
            try{ LODOP=getCLodop();} catch(err) {};
   if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;};
            if (!LODOP) {
if (isIE) document.write(strCLodopInstall); else
document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;
                 return;
            } else {
        if (CLODOP.CVERSION<"2.0.6.8") { 
if (isIE) document.write(strCLodopUpdate); else
document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML;
};
if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED);
if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT);
   };
        } else {
            var is64IE  = isIE && (navigator.userAgent.indexOf('x64')>=0);
            //=====如果页面有Lodop就直接使用,没有则新建:==========
            if (oOBJECT!=undefined || oEMBED!=undefined) {
                if (isIE) LODOP=oOBJECT; else  LODOP=oEMBED;
            } else if (CreatedOKLodop7766==null){
                LODOP=document.createElement("object");
                LODOP.setAttribute("width",0);
                LODOP.setAttribute("height",0);
                LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");
                if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
                else LODOP.setAttribute("type","application/x-print-lodop");
                document.documentElement.appendChild(LODOP);
                CreatedOKLodop7766=LODOP;
             } else LODOP=CreatedOKLodop7766;
            //=====Lodop插件未安装时提示下载地址:==========
            if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) {
                 if (navigator.userAgent.indexOf('Chrome')>=0)
                     document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;
                 if (navigator.userAgent.indexOf('Firefox')>=0)
                     document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;
                 if (is64IE) document.write(strHtm64_Install); else
                 if (isIE)   document.write(strHtmInstall);    else
                     document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;
                 return LODOP;
            };
        };
        if (LODOP.VERSION<"6.2.0.8") {
            if (needCLodop())
            document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else
            if (is64IE) document.write(strHtm64_Update); else
            if (isIE) document.write(strHtmUpdate); else
            document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;
            return LODOP;
        };
        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===

//===========================================================
        return LODOP;
    } catch(err) {alert("getLodop出错:"+err);};
};

报错如下:

修改LodopFuncs.js的代码后不在报错(代码如下):

var CreatedOKLodop7766=null;
//====判断是否需要安装CLodop云打印服务器:====
function needCLodop(){
    try{
var ua=navigator.userAgent;
if (ua.match(/Windows\sPhone/i) !=null) return true;
if (ua.match(/iPhone|iPod/i) != null) return true;
if (ua.match(/Android/i) != null) return true;
if (ua.match(/Edge\D?\d+/i) != null) return true;
if (ua.match(/QQBrowser/i) != null) return false;
var verTrident=ua.match(/Trident\D?\d+/i);
var verIE=ua.match(/MSIE\D?\d+/i);
var verOPR=ua.match(/OPR\D?\d+/i);
var verFF=ua.match(/Firefox\D?\d+/i);
var x64=ua.match(/x64/i);
if ((verTrident==null)&&(verIE==null)&&(x64!==null)) 
return true; else
if ( verFF !== null) {
verFF = verFF[0].match(/\d+/);
if ( verFF[0] >= 42 ) return true;
} else 
if ( verOPR !== null) {
verOPR = verOPR[0].match(/\d+/);
if ( verOPR[0] >= 32 ) return true;
} else 
if ((verTrident==null)&&(verIE==null)) {
var verChrome=ua.match(/Chrome\D?\d+/i);
if ( verChrome !== null ) {
verChrome = verChrome[0].match(/\d+/);
if (verChrome[0]>=42) return true;
};
};
        return false;
    } catch(err) {return true;};
};
//====页面引用CLodop云打印必须的JS文件:====
if (needCLodop()) {
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
var oscript = document.createElement("script");
oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1";
head.insertBefore( oscript,head.firstChild );
//本机云打印的后补端口8001:
oscript = document.createElement("script");
oscript.src ="http://localhost:8001/CLodopfuncs.js?priority=2";
head.insertBefore( oscript,head.firstChild );
};
//====获取LODOP对象的主过程:====
function getLodop(oOBJECT,oEMBED){
    var strHtmInstall="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='/项目名称/print/install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtmUpdate="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='/项目名称/print/install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtm64_Install="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='/项目名称/print/install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtm64_Update="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='/项目名称/print/install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtmFireFox="<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
    var strHtmChrome="<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
    var strCLodopInstall="<br><font color='#FF00FF'>CLodop云打印服务(localhost本地)未安装启动!点击这里<ahref='/项目名称/print/CLodop_Setup_for_Win32NT.exe' target='_self'>执行安装</a>,安装后请刷新页面。</font>";
    var strCLodopUpdate="<br><font color='#FF00FF'>CLodop云打印服务需升级!点击这里<ahref='/项目名称/print/CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
    var LODOP;
    try{
        var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
        if (needCLodop()) {
            try{ LODOP=getCLodop();} catch(err) {};
    if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;};
            if (!LODOP) {
 if (isIE) document.write(strCLodopInstall); else
 document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;
                 return;
            } else {

if (CLODOP.CVERSION<"2.0.6.8") { 
if (isIE) document.write(strCLodopUpdate); else
document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML;
 };
 if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED);
 if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT);
    };
        } else {
            var is64IE  = isIE && (navigator.userAgent.indexOf('x64')>=0);
            //=====如果页面有Lodop就直接使用,没有则新建:==========
            if (oOBJECT!=undefined || oEMBED!=undefined) {
                if (isIE) LODOP=oOBJECT; else  LODOP=oEMBED;
            } else if (CreatedOKLodop7766==null){
                LODOP=document.createElement("object");
                LODOP.setAttribute("width",0);
                LODOP.setAttribute("height",0);
                LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");
                if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
                else LODOP.setAttribute("type","application/x-print-lodop");
                document.documentElement.appendChild(LODOP);
                CreatedOKLodop7766=LODOP;
             } else LODOP=CreatedOKLodop7766;
            //=====Lodop插件未安装时提示下载地址:==========
            if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) {
                 if (navigator.userAgent.indexOf('Chrome')>=0)
                     document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;
                 if (navigator.userAgent.indexOf('Firefox')>=0)
                     document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;
                 if (is64IE) document.write(strHtm64_Install); else
                 if (isIE)   document.write(strHtmInstall);    else
                     document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;
                 return LODOP;
            };
        };
        if (LODOP.VERSION<"6.2.0.8") {
            if (needCLodop())
            document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else
            if (is64IE) document.write(strHtm64_Update); else
            if (isIE) document.write(strHtmUpdate); else
            document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;
            return LODOP;
        };
        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===

//===========================================================
        return LODOP;
    } catch(err) {alert("getLodop出错:"+err);};
};

————————————————
版权声明:本文为CSDN博主「快乐monkey」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zqd_java/article/details/53838182

转载:  Lodop、C-Lodop打印控件报错相关推荐

  1. thinkPHP5 与 WdatePicker日历控件报错

    thinkPHP5 与 WdatePicker日历控件报错 解决方法如下 {literal}<input type="text" onfocus="WdatePic ...

  2. 解决在使用skin.support:skin-support换肤控件报错问题

    解决在使用skin.support:skin-support换肤控件报错问题 1.如果项目中还在使用support库,添加以下依赖 implementation 'skin.support:skin- ...

  3. Lodop和C-Lodop打印控件用vue在win7电脑不兼容样式板式错乱问题

    项目背景 本文是使用C-Lodop云打印控件,在使用的过程中,出现在win7电脑不兼容,模板样式错乱情况. 这里先简单介绍下C-Lodop: 有人说她是Web打印控件,因为她能打印.在浏览器中以插件的 ...

  4. 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法...

    解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...

  5. WebForm常见错误之验证控件报错

    目录 [问题描述] [原因分析:] [解决方案] 方案1: 方案2(推荐): 方案3: 方案4: [问题描述] 当我们在开发过程中,有时候会遇到一些莫名其名的错误. 很多小伙伴看到这个问题,当时就蒙了 ...

  6. xamarin拖一个gridview控件报错怎么解决_[笔记阁]Xamarin初探:版式面板(一)

    工丅Shinichi1分钟前在.NET程序员中,学习xamarin是一个自认为挺不错的跨平台开发框架,从此篇文章开始,将会逐步揭开xamarin的面纱.什么是版式面板? 官方解释:版式面板是一种 Xa ...

  7. 关于js调用ocx控件报错对象不支持此属性或方法的解决方法

    在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...

  8. C# 自定义用户控件报错 UserControl是“命名空间”,但此处被当做“类型”来使用

    今天从VS 2015转成VS 2022的时候遇到这样一个问题,经过多种测试后发现是因为程序目录下存放用户控件的文件夹名称是UserControl文件夹导致的,将文件夹名称改为UserControls后 ...

  9. Delphi安装导入控件报错

    错误: [Fatal error]Could not create file '../bpl' 解决方案:打开dpk文件后,选择options--->Directories/Conditiona ...

最新文章

  1. access数据库拆分的用途_聊聊数据库设计一些经验 条条都是干货
  2. c++ 程序时间运算 函数;
  3. 十条实用的jQuery代码片段
  4. python中的常量可以修改吗_python实现不可修改的常量
  5. python敏感字替换_python用类实现文章敏感词的过滤方法示例
  6. ajax 提交 .net ispostback不执行,ASP.NET基于Ajax的Enter键提交问题分析
  7. Minimum Inversion Number 线段树
  8. jQuery Mobile中固定工具栏header、footer的data-*选项
  9. Java 数据库编程专栏 目录
  10. 【汽车总线技术】PCAN-Diag FD简介及其应用 ——手持式CAN/CAN FD总线诊断设备
  11. debian 安装teamviewer
  12. Julia学习04——函数
  13. java vad_(转载)静音检测VAD算法
  14. java定义矩形的周长和面积_定义一个长方形类,定义 求周长和面积的方法实例
  15. BuildMost分享-全球最大的自贸区揭牌!建材外贸在非洲会有多大舞台?
  16. 毕业论文word排版技巧
  17. prism 创建ViewModel
  18. Salesforce中Billing Address和Shipping Address的区别
  19. ZOJ - 1203 Swordfish(最短路)
  20. 公交语音播报调试第三天

热门文章

  1. python如何下载安装spacy_Python spaCy
  2. maven问题:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
  3. android仿IT之家、炫酷水波纹、Kotlin MVP项目、后台模拟点击、蜂巢迷宫小游戏等源码
  4. 基于Linux的socket网络编程项目——游侠手机商城
  5. error:尝试引用已删除的函数或已显式删除函数
  6. safari浏览网页时显示“不安全网站”怎么办?
  7. 计算机库里怎样添加桌面,小编教你win7中如何在库中添加桌面
  8. Arduino学习(六) 继电器实验
  9. SDUT 2084 DOTA-人王之战(博弈论)
  10. CSS系列之连续的字母或数字在Html盒子中不会自动换行,直接溢出