我有一个使用GWT 2.2和Java 1.5并在Websphere Application Server 6.1上运行的Web应用程序。
它在Firefox(5.0.1)上运行正常但在Internet Explorer 7上我得到以下异常:
com.google.gwt.core.client.JavaScriptException: (TypeError): Object doesn't support this property or method
number: -2146827850
堆栈追踪:
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.user.client.ui.impl.FocusImplStandard.createFocusable0(FocusImplStandard.java)
at com.google.gwt.user.client.ui.impl.FocusImplStandard.createFocusable(FocusImplStandard.java:65)
at com.google.gwt.user.client.ui.MenuBar.init(MenuBar.java:1086)
at com.google.gwt.user.client.ui.MenuBar.<init>(MenuBar.java:237)
at com.google.gwt.user.client.ui.MenuBar.<init>(MenuBar.java:213)
at com.google.gwt.user.client.ui.SuggestBox$SuggestionMenu.<init>(SuggestBox.java:563)
at com.google.gwt.user.client.ui.SuggestBox$DefaultSuggestionDisplay.<init>(SuggestBox.java:320)
at com.google.gwt.user.client.ui.SuggestBox.<init>(SuggestBox.java:723)
at com.google.gwt.user.client.ui.SuggestBox.<init>(SuggestBox.java:711)
at com.estimation.web.client.ui.EnterEstimationDataView.createSuggestBox(EnterEstimationDataView.java:287)
at com.estimation.web.client.ui.EnterEstimationDataView_EnterEstimationDataViewUiBinderImpl.createAndBindUi(EnterEstimationDataView_EnterEstimationDataViewUiBinderImpl.java:19)
at com.estimation.web.client.ui.EnterEstimationDataView_EnterEstimationDataViewUiBinderImpl.createAndBindUi(EnterEstimationDataView_EnterEstimationDataViewUiBinderImpl.java:1)
at com.estimation.web.client.ui.EnterEstimationDataView.<init>(EnterEstimationDataView.java:292)
at com.estimation.web.client.ClientFactoryImpl.<clinit>(ClientFactoryImpl.java:39)
at java.lang.J9VMInternals.initializeImpl(Native Method)
...
Stack Trace来自开发模式,但我认为在生产模式下也是如此,因为IE没有显示任何内容,并在状态栏中显示一个小黄色警告标志。
我试图注释掉抛出异常的部分,但是在其他地方抛出相同的异常。
从抛出异常的不同小部件看起来它们都是可聚焦的,因为这条线在每个堆栈跟踪中(在GWT开始执行本机Java Script之前的最后一次调用):
com.google.gwt.user.client.ui.impl.FocusImplStandard.createFocusable(FocusImplStandard.java:65)
有谁知道可能导致此错误的原因是什么?
答案 0 :(得分:2)
经过一些搜索论坛帖子之后,我意识到我在modul.gwt.xml <set-property name="user.agent" value="ie6, gecko1_8" />
中错过了IE的user.agent值。没有它,IE尝试使用另一种排列,这当然是不兼容的
如果至少开发模式插件会意识到正确的排列丢失,那将是非常艰难的......