duhe
2025-11-04 ac480ff9367ebb6348164106a613c8bdb598cb7f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
var CreatedOKLodop7766 = null;
 
//====判断是否需要安装CLodop云打印服务器:====
export 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;
 
        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) || (x64 !== null)) 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文件:====
 
 
//====获取LODOP对象的主过程:====
export 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本地)未安装启动!点击这里<a href='http://39.106.127.127:8888/group1/M00/00/00/J2p_f14Jj5qABHY-ADNxndshBC8910.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;
            var r = confirm("下载安装插件,请把浏览器拦截关闭,安装成后刷新页面重试");
            if (r == true) {
                window.open("https://www.lodop.net/download.html")//如果你没有安装C-Lodop就需要在软件安装,这个地址是我后端给我的,前端也可以找个链接跳过去下载也是可以的
            }
 
        }
        // else {
 
 
        // if (CLODOP.CVERSION < "3.0.0.2") {
        //     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")) {
        //         // debugger
        //         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.0") {
        //     if (!needCLodop()) {
        //         if (is64IE) document.write(strHtm64_Update); else
        //             if (isIE) document.write(strHtmUpdate); else
        //                 document.documentElement.innerHTML = strHtmUpdate + document.documentElement.innerHTML;
        //     };
        //     return LODOP;
        // };
        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
        //LODOP.SET_LICENSES("北京XXXXX公司","8xxxxxxxxxxxxx5","","");
 
        //===========================================================
        LODOP.SET_LICENSES("","E075BECBCE17605920BE3E14F0354855617","","");
        return LODOP;
    } catch (err) { alert("getLodop出错:" + err); };
};
 
if (needCLodop()) {
    // console.log(needCLodop())
    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
 
 
    try {
        var oscript = document.createElement("script");
        oscript.src = "http://localhost:8000/CLodopfuncs.js?priority=1";
        head.insertBefore(oscript, head.firstChild);
 
 
        oscript = document.createElement("script");
        oscript.src = "http://localhost:18000/CLodopfuncs.js?priority=0";
        head.insertBefore(oscript, head.firstChild);
    } catch (err) {
 
    }
 
 
    //引用双端口(8000和9000)避免其中某个被占用:
 
};