4Fang财务软件、四方在线软件、SaaS

简单实用的就是最好的!
帮助中心 | 登录 | 注册 | 关于 |

 
  执行打印代码后,还要执行js代码?

jangogo @ 2009-11-5 16:04:00

 Tim Wang 15:49:32
对不起,请教一个问题,那个打印控件在执行直接打印语句后,后面是不是不能再写任何的JS语句了啊?否则系统还是会跳出打印机选择画,让用户选择打印机,例如:document.all.pazu.TPrinter.doPrint(false);
alert("1");
我后面跟一句alert之后那个打印机选择画面还是跳了出来
Jangogo 15:50:18
可以写语句,但是不能alert(1)
Jangogo 15:50:24
不能alert()
Jangogo 15:50:36
不能有提示框
Tim Wang 15:51:01
那我比如执行document.alll.button1.click()这样的语句呢
Jangogo 15:51:14
没有问题
Tim Wang 15:51:24
好,我试试
Jangogo 15:51:28
不弹出提示框就行了
Tim Wang 15:51:38

Tim Wang 15:57:40
window.location.replace这样的语句也不行吗?
Jangogo 15:58:00
这样网页已经转到其他地方去了,
Jangogo 15:58:29
你可以用 window.setTimeout 来延迟执行你的代码
Jangogo 15:58:55
延迟1秒就足够了
 Tim Wang 15:59:15
OK,如果这个可以到也行,另外SendAjaxRequest这样的ajax方法是否可用呢?
Jangogo 15:59:24
可以
Tim Wang 15:59:50
好的谢谢提醒
Jangogo 16:00:07
Ajax不影响,不过最安全的做法还是用setTimeout
Tim Wang 16:00:30
好,我先来试window.setTimeout
Jangogo 16:01:50
打印和页面设置过程是异步的(也可能是同步的)不同浏览器版本表现不一样。当异步的时候,就会出现你碰到的问题。也就是页面设置和打印还没有完成浏览器就已经执行下一句代码了 

如果要判断用户是否真的按了打印按钮进行打印还是用户取消了打印,这样的功能就需要用PrintTemplate技术进行深层次控制