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的启动界面也出不来,第一次点击就提示,后来远程了下,删除共享打印机后,重新安装就好了。)
C-Lodop提示“有窗口已打开,先关闭它(持续如此请刷新页面)!”的更多相关文章
- QT实现窗口缩放打开与关闭(重叠窗口,太有意思了)
		
基本思想:假设A为主窗口,B为子窗口.A打开或关闭时,先对A窗口进行截图,然后将图片部满整个B窗口的,在paintEvent里面进行动态缩放或放大画图.最后使用动画,将B窗口以动画的形式打开或关闭,动 ...
 - java中窗口的打开与关闭
		
作为小白的我,今天学习了java中打开与关闭窗口的方法. 1.在java中创建一个窗口 import java.awt.*;import java.awt.event.*;public class L ...
 - LODOP提示、报错、现象,简短问答
		
提示升级提示:“打印控件需要升级!点击这里执行升级,升级后请重新进入."“Web打印服务CLodop需升级!点击这里执行升级,升级后请刷新页面.”(新版提示) 参考http://www.c- ...
 - Lodop提示安装或升级的注意事项
		
LODOP的LodopFuncs.js文件里,自动判断浏览器类型提示下载哪个,根据版本号比较判断提示升级.此文章是以前写的,图示可能过旧,新版提示不同,但是LodopFuncs.js里各个方面变动不大 ...
 - 打开office时提示错误窗口“向程序发送命令时出现问题”的解决方案
		
今天同事问了我一件很怪异的事情,说她的office打不开了,如打开word或excel时,突然出现错误提示错误窗口"向程序发送命令时出现问题",分析原因才知道她安装了 AVG pc ...
 - Microsoft Dynamics CRM4.0 JScript 过滤lookup 出现 Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止。
		
一.现象:JScript过滤lookup字段,选择lookup字段出现下图的情况: 出现:Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止.请将这台Micro ...
 - 【C#】无损转换Image为Icon   【C#】组件发布:MessageTip,轻快型消息提示窗  【C#】给无窗口的进程发送消息  【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体 【手记】调用Process.EnterDebugMode引发异常:并非所有引用的特权或组都分配给呼叫方  【C#】DataRowState演变备忘
		
[C#]无损转换Image为Icon 如题,市面上常见的方法是: var handle = bmp.GetHicon(); //得到图标句柄 return Icon.FromHandle(handle ...
 - JavaScript窗口打开与关闭及如何使用opener使子窗口对父窗口进行操作
		
一.打开与关闭窗口 1.打开窗口:可以使用window对象中的Open()方法. newWindow = window.open(url,windowname,location); 参数说明: url ...
 - BeyondCompare3 提示许可证密钥已被撤销解决方法
		
今天对比文件提示 许可证密钥已被撤销:3281-0350! 找过了几个注册码还是不行. 正确简单的解决方法: 1.找到 BCState.xml 文件  2.编辑器打开,删除<TCheckFor ...
 
随机推荐
- apache反向代理出现502调整
			
1.问题描述:项目上线后,会在接口调用时客户端出现502异常,而服务端则对该此请求作出处理. 2.问题原因:经过排查后得知是由于请求并发量大,造成超过请求超时间,但是apache中队列已经加载到请求信 ...
 - 【Codeforces 212E】Restaurants
			
Codeforces 212 E 题意:给一棵树,其中删去一个点,剩余的联通块们同一个联通块都得涂同一个颜色(黑或白),问黑色涂的个数有可能是哪些. 思路:肯定是背包. 假设现在删掉\(u\)这个节点 ...
 - [intoj#7]最短距离
			
190227模拟 题目描述 给定一张 N 个点的有向图,点 i 到点 j 有一条长度为 i/gcd(i,j) 的边. 有个 Q 询问,每个询问包含两个数 x, y,求从点 x 出发到点 y 的最短距离 ...
 - 从MFQ方法到需求分析
			
前几天看了一篇性能测试相关的文章:性能测试模型初探及应用方法分析,其中提到了MFQ分析方法.专门去查阅了MFQ相关的一些资料,学习了一番. 之后想起了以前看<Google的软件测试之道>这 ...
 - RabbitMQ详解(一)------简介与安装
			
RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了<RabbitMQ实战 高效部署分布式消息队列>这本书,所以顺便写写. 那么关于 Rabb ...
 - C# 对象池的实现(能限制最大实例数量,类似于WCF的MaxInstanceCount功能)
			
对象池服务可以减少从头创建每个对象的系统开销.在激活对象时,它从池中提取.在停用对象时,它放回池中,等待下一个请求.我们来看下主线程中,如何与对象池打交道: static void Main(stri ...
 - 最新版XCoder 的使用方法
			
1.项目中,新建一个类库.名字随意,我取名:XCoder 2.右键 > 管理nuget程序包:搜索 XCode 并安装 3.在项目中新建:data.project.xml 的xml文件,并写入数 ...
 - 朱晔和你聊Spring系列S1E5:Spring WebFlux小探
			
阅读PDF版本 本文会来做一些应用对比Spring MVC和Spring WebFlux,观察线程模型的区别,然后做一下简单的压力测试. 创建一个传统的Spring MVC应用 先来创建一个新的web ...
 - 一些leetcode算法题
			
DFS算法 思想:一直往深处走,直到找到解或者走不下去为止 DFS(dep,...) // dep代表目前DFS的深度 { if (找到解或者走不下去了){ return; } 枚举下种情况,DFS( ...
 - redis的应用场景 为什么用redis
			
一.不是万能的菲关系系数据库redis 在面试的时候,常被问比较下Redis与Memcache的优缺点,个人觉得这二者并不适合一起比较,redis:是非关系型数据库不仅可以做缓存还能干其它事情,Mem ...