JavaScriptException:(TypeError):Object不支持此属性或方法

时间:2012-02-02 14:57:26

标签: java gwt

我有一个使用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)

有谁知道可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

经过一些搜索论坛帖子之后,我意识到我在modul.gwt.xml <set-property name="user.agent" value="ie6, gecko1_8" />中错过了IE的user.agent值。没有它,IE尝试使用另一种排列,这当然是不兼容的

如果至少开发模式插件会意识到正确的排列丢失,那将是非常艰难的......