2012-11-20 27 views
4

我有一个JAVA applet,可以调出一个应用程序模式对话框。我遇到的问题是用户可以关闭浏览器(或选项卡),对话框将保持不变。如果您单击IE9窗口区域或菜单栏,对话框将显示为模态,但是当您单击选项卡或窗口的“x”按钮时,IE9对于该对话框不是模态的。我尝试过各种形式的模态,而且似乎没有使整个窗口和对话框模式。我尝试在applet中使用一个窗口监听器,但它似乎没有得到关闭消息。如果以这种方式关闭窗口,java进程没有正确关闭,您必须通过任务管理器将其关闭。我不记得IE8发生这种情况。有没有办法让整个IE9窗口和我的对话框模式?applet如何模态化,并保持IE9窗口关闭?

+3

为什么不启动小程序自由浮动使用[Java Web Start的(http://stackoverflow.com/tags/java-web-start/info) ? –

+0

你可以使用javascript来监视关闭事件,并提醒用户不要关闭它。 –

+0

我不认为这是可能的(使用Java)。浏览器是一个独立的容器,几乎可以按照自己喜欢的方式进行操作。模式状态由applet维护,不扩展到容器或插件。安德鲁的建议可能是你将要得到的最佳选择。 – MadProgrammer

回答

0

在提出Java模式之前,你可以通过liveconnect javascript调用返回到页面,设置一个函数window.onclose,或者将焦点设置回小程序或者通过浏览器提示用户确认或提示?

关闭/解除applet对话框后,可以清除浏览器的window.onclose函数指针。

希望这有助于

斯科特^ h