zoukankan      html  css  js  c++  java
  • 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的启动界面也出不来,第一次点击就提示,后来远程了下,删除共享打印机后,重新安装就好了。)

  • 相关阅读:
    hdu 1042 N!
    hdu 1002 A + B Problem II
    c++大数模板
    hdu 1004 Let the Balloon Rise
    hdu 4027 Can you answer these queries?
    poj 2823 Sliding Window
    hdu 3074 Multiply game
    hdu 1394 Minimum Inversion Number
    hdu 5199 Gunner
    九度oj 1521 二叉树的镜像
  • 原文地址:https://www.cnblogs.com/huaxie/p/10469437.html
Copyright © 2011-2022 走看看