有没有办法在JApplet中检测浏览器关闭?

时间:2011-12-12 15:00:38

标签: java browser japplet

在关闭浏览器之前,用户应该保存某些配置文件。有没有办法检测用户是否正在尝试关闭浏览器并警告他们先保存文件?

3 个答案:

答案 0 :(得分:1)

您应该在applet中定义一个公共方法,并在用户关闭页面之前使用Javascript调用它: window.onbeforeunload = document.YourApplet.YourMethod(event); 其中YourApplet是您的applet的名称属性:<applet name="YourApplet" ... 和YourMethod是您在applet中定义的方法。

答案 1 :(得分:1)

你可以use javascript to detect this。你可以invoke applet methods from javascript

所以你应该定义一个javascript onunload处理程序来调用你的applet的close方法。

答案 2 :(得分:1)

通常,一旦浏览器窗口(或只是标签页)关闭或在其他地方导航,PlugIn就会尝试停止applet。

IIRC,在插件开始变得中世纪之前,你曾经有20秒的时间来清理你。我相信如果没有其他applet共享JVM,如果你不停止,这个过程现在会被杀死。

所以,你真的不想在试图显示恼人的保存对话框时闲逛。我甚至会说,你不想要讨厌的保存对话框。所以,请静静地进行保存。重新启动时添加“你没有保存,是否要恢复这些更改”的事情(比如在Chrome工具栏下重新打开windows dialogette)。对于额外标记,请在后台定期记录增量,以便即使在突然终止或网络故障的情况下也可以恢复数据。