GWT 应用程序抛出“JavaScriptException”仅在 IE 中,堆栈跟踪没有有用的信息

发布于 2024-10-17 16:58:03 字数 1663 浏览 4 评论 0原文

我的 GWT 应用程序在某个时刻抛出 JavaScriptException。此问题仅出现在 Internet Explorer 中(IE 8 和运行 IE7 模式的 IE 8)。

堆栈跟踪如下:

com.google.gwt.core.client.JavaScriptException: (Error): Invalid argument.
 number: -2147024809
 description: Invalid argument.
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
com.google.gwt.core.client.impl.Impl.apply(Impl.java)
com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668)
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
java.lang.Thread.run(Unknown Source)

至少可以说调试是不可能的。 Google 告诉我,这可能是由于属性设置不当(即 setWidth("190px!") 之类的错误字符)或将宽度设置为 0px 或可能是其他原因造成的。

由于该问题仅在 IE 中出现,因此我尝试使用 IE 开发工具进行调试,但一无所获。

我怎样才能正确地调试这个问题?

My GWT application is throwing a JavaScriptException at a certain point. This issue only occurs in Internet Explorer (both IE 8 and IE 8 running IE7 mode).

The stack trace is as follows:

com.google.gwt.core.client.JavaScriptException: (Error): Invalid argument.
 number: -2147024809
 description: Invalid argument.
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:507)
com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:264)
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
com.google.gwt.core.client.impl.Impl.apply(Impl.java)
com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)
com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:1668)
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:401)
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222)
java.lang.Thread.run(Unknown Source)

Debugging has been impossible to say the least. Google has told me that this could be anything from a property being set improperly (ie a bad character like setWidth("190px!")) or setting a width to 0px or could be something else altogether.

Since the issue only shows up in IE, I've tried using the IE developer tools to debug, but have come up with nothing.

How can I go about debugging this properly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝戈者 2024-10-24 16:58:03

这也发生在我身上,这真是一场噩梦。正确使用一些 GIT/SVN/CVS 确实可以挽救这里的情况,到达“它起作用的地方”是很棒的。那么你现在能做什么:

  • 暂时摆脱所有自定义 CSS 并看看会发生什么(只保留 GWT 中的纯默认 CSS)
  • 在外部服务器上调试,它并没有那么慢,然后
  • 尝试重现“某些点”并注释掉任何相关行
  • 正确检查生成的站点(一些类似于 IE 的 firebug 工具,我希望存在这样的东西),
  • 如上所述,使用漂亮/详细的输出样式
  • 读取 GWT 生成的 JavaScript 从未解决我的问题:( 这通常是 CSS 相关的东西或自定义使用GWT 中的 DOM
  • 让人们(或者自己做)定期测试各种浏览器,这很简单

This also happened to me and it's quite nightmare. Proper usage of some GIT/SVN/CVS whatever saves here situation really, getting to the point "where it worked" is great. So what can you do now:

  • temporarily get rid of all custom CSS and see what happens (leave just plain default CSS from GWT)
  • debug on external server, it's not that slow then
  • try to reproduce "certain point" and comment out any related lines
  • inspect generated site properly (some firebug-like tool for IE, I hope such thing exists)
  • as suggested above, use pretty/detailed output style
  • reading generated JavaScript from GWT never solved my problem :( It was usually CSS related stuff or custom usage of DOM from GWT
  • get folks (or do it yourself) to test various browsers on regular basis, it's just nobrainer
烟酉 2024-10-24 16:58:03

为 Web 模式编译具有漂亮输出样式的应用程序。然后,您可以获得有关此异常的更多信息。

Compile your application with pretty output style for web mode. Then, you could get more information about this exception.

江湖彼岸 2024-10-24 16:58:03

这段代码对我造成了同样的错误

flexTableWidget.getElement().getStyle().setBackgroundColor("rgba(255,255,255,0.5)");

this code caused the same error for me

flexTableWidget.getElement().getStyle().setBackgroundColor("rgba(255,255,255,0.5)");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文