我们有 GWT/GXT 3 应用程序(大部分是从 gxt 2 迁移的,但仍有一些小区域尚未更新)。该应用程序将卡在其加载屏幕(只是一个带有旋转 gif 的 div)并且不完整,但是这种情况仅发生在我们的一个客户的 IE8 上。
它无法到达 onModuleLoad 来启动应用程序,并且在下载 JavaScript 期间似乎挂起。 我还能做些什么来调试这个吗?
更多信息
用户代理 -
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe/23.0.1271.95; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; .NET4.0C; .NET4.0E; InfoPath.2)
正在使用的软件 - GWT, GXT, Spring, Comet, JMS
客户端可能同时拥有我们无法控制的代理和防火墙。
编辑 补充一下,这是一个适用于所有其他客户端的实时系统,并且对于有问题的客户端来说只是一个间歇性问题
最佳答案
您可以设置 uncaughtExceptionHandler 并在屏幕上显示错误。
@Override
public void onModuleLoad() {
GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void onUncaughtException(Throwable e) {
Window.alert("uncaught: " + e.getMessage());
String s = buildStackTrace(e, "RuntimeExceotion:\n");
Window.alert(s);
e.printStackTrace();
}
});
new Timer() {
@Override
public void run() {
start();
}
}.schedule(1);
}
如果您在 onModuleLoad
中设置 UncaughtExceptionHandler 并且不使用 Timer
,则不会记录此方法中发生的任何情况。
关于java - GWT 在 onModuleLoad 之前的应用程序启动时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21734020/