• C-Lodop提示“有窗口已打开,先关闭它(持续如此请刷新页面)!”


    c-lodop显示“有窗口已打开,先关闭它(持续如此时请刷新页面)!”
    如果连续执行多个预览语句等导致的,可以预先判断一下,并可以自定义修改窗口已打开的提示,该默认提示的位置如本博客的下图http://localhost:8000/CLodopfuncs.js:

    通过语句后可修改连续打开窗口导致的提示,在执行打印前判断一下。

    会产生本提示的动作语句如下
    PREVIEW、PRINT_DESIGN、PRINT_SETUP、PRINTA、GET_DIALOG_VALUE,以上语句需要等待返回,无结果时会有以上提示。其他语句不会有该提示,如:PRINT()。

    可能1:有窗口已打开,还没关闭
    已打开的窗口被浏览器窗口抢了焦点,遮挡到后面了;
    已打开的窗口最小化了;
    查看windows任务栏,和浏览器后面,是否窗口最小化或被浏览器遮挡了。
    可能2:代码问题,连续执行两个如预览等语句。
    可能3:前面的语句执行很慢,结果还没返回又点击了新的打开语句。

    如果是前两个窗口问题,也可以使用f (CLODOP.blOneByone==true)判断一下再执行。

    按住alt+tab可以查看windows当前打开的应用窗口,仔细查找是否有c-lodop的。

    该提示只会在c-lodop产生,如果有窗口已打开,再点击lodop会是禁止点击,点击无效。

    测试代码说明:
    方法1:正常情况,执行一次打印设计LODOP.PRINT_DESIGN();
    方法2;连续执行两个LODOP.PRINT_DESIGN();,会弹出c-lodop本身的提示,该提示在clodopfuncs.js里。
    方法3:在打印前,判断一下是否有窗口已经打开了,弹出自定义的提示。
    方法4:在打印前,判断一下是否为c-lodop,如果为c-lodop,判断一下是否有窗口已经打开了,弹出自定义的提示。

    测试代码:

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>WEB打印控件LODOP</title>
    <script language="javascript" src="LodopFuncs.js"></script>
    </head>
    <body>
    <a href="javascript:prn1_preview()">打印设计执行一个正常</a><br>
    <a href="javascript:prn2_preview()">打印设计执行两个</a><br>
    <a href="javascript:prn3_preview()">打印设计执行两个,已有窗口打开提示,lodop会报错</a><br>
    <a href="javascript:prn4_preview()">打印设计已有窗口打开提示2判断是c-lodop再判断</a><br>
    <script language="javascript" type="text/javascript">   
            var LODOP; //声明为全局变量 
        function prn1_preview() {
            LODOP=getLodop();
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(14,27,100,20,"新加文本1");
            LODOP.PRINT_DESIGN();
            //LODOP.PREVIEW();    
        };
        function prn2_preview() {
            LODOP=getLodop();
            LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(14,27,100,20,"新加文本1");
            LODOP.PRINT_DESIGN();
            LODOP.PRINT_DESIGN();
            //LODOP.PREVIEW();    
        };
        function prn3_preview() {       
            LODOP=getLodop();
           if (CLODOP.blOneByone==true){alert("(ゝω・)先关闭前面的窗口,才能打开新的窗口(ゝω・)。");}
           else
            {LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(14,27,100,20,"新加文本1");      
            LODOP.PRINT_DESIGN();}
            //LODOP.PREVIEW();    
        };
        function prn4_preview() {
            LODOP=getLodop();
           if (LODOP.CVERSION)
           {if (CLODOP.blOneByone==true){alert("(ゝω・)先关闭前面的窗口,才能打开新的窗口。(ゝω・)");}}
           else
            {LODOP.PRINT_INIT("");
            LODOP.ADD_PRINT_TEXT(14,27,100,20,"新加文本1");   
            LODOP.PRINT_DESIGN();}
        };
    </script> 

    图示:

    效果:

    关于本测试的描述:

    1.点击一次,正常情况,弹出一次打印设计。

    2.连续执行两个LODOP.PRINT_DESIGN();,会弹出c-lodop的默认提示。

    3.点一次后,不关闭再点一次,弹出自己写的判断的自定义提示。
    (如果是lodop插件,非c-lodop,这里会报错,注意这个判断只能在c-lodop下使用)

    4.点一次后,不关闭再点一次,每次都先判断是否是c-lodop,再判断是否打开了窗口,弹出自己写的判断的自定义提示。

    如何只使用c-lodop,可修改needclodop方法返回true,也可用欢迎页面的方式,可参考查看本博客的相关博文:

    特别注意:该文中的判断,只使与c-lodop。
    而lodop,打开没关窗口会禁止点击,如果代码有两个,会弹出一个,关掉接着弹出第二个。

    简短问答:
    提示窗口已打开
    参考http://www.c-lodop.com/faq/pp27.html
    是否有共享打印机,删除共享打印机后,重新安装试试。
    (之后又客户共享打印机出问题,也是老提示这个,而且c-lodop的启动界面也出不来,第一次点击就提示,后来远程了下,删除共享打印机后,重新安装就好了。)

  • 相关阅读:
    Codeforces Round #651 (Div. 2) C. Number Game(数论)
    Codeforces Round #651 (Div. 2) D. Odd-Even Subsequence(二分)
    Codeforces Round #651 (Div. 2) E. Binary Subsequence Rotation(dp)
    Codeforces Global Round 8 E. Ski Accidents(拓扑排序)
    Codeforces Global Round 8 A. C+=(贪心)
    Codeforces Global Round 8 B. Codeforces Subsequences(构造)
    mysql 索引类型都有哪些
    PHP正则表达式
    MySQL时间盲注五种延时方法
    MySQL benchmark() 重复执行某表达式
  • 原文地址:https://www.cnblogs.com/huaxie/p/10469437.html
Copyright © 2020-2023  润新知