Приложение GWT создает исключение JavaScriptException только в IE, трассировка стека не содержит полезной информации - PullRequest
4 голосов
/ 18 февраля 2011

Мое приложение GWT генерирует исключение JavaScriptException в определенный момент.Эта проблема возникает только в Internet Explorer (IE 8 и IE 8 работают в режиме IE7).

Трассировка стека выглядит следующим образом:

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 для отладки, но ничего не нашел.

Как мне отладить это правильно?

Ответы [ 3 ]

2 голосов
/ 20 февраля 2011

Это также случилось со мной, и это настоящий кошмар.Правильное использование некоторых GIT / SVN / CVS независимо от того, что действительно спасает ситуацию, позволяет достичь точки «где это работает» - это здорово.Итак, что вы можете сделать сейчас:

  • временно избавиться от всех пользовательских CSS и посмотреть, что произойдет (оставьте обычный CSS по умолчанию в GWT)
  • отладка на внешнем сервере, это не такslow затем
  • попытайтесь воспроизвести «определенную точку» и закомментируйте все связанные строки
  • проверьте правильность сгенерированного сайта (какой-то похожий на firebug инструмент для IE, надеюсь, такая вещь существует)
  • , как предложено выше, используйте довольно / подробный стиль вывода
  • чтение сгенерированного JavaScript из GWT никогда не решало мою проблему :( Обычно это было связано с CSS или пользовательским использованием DOM из GWT
  • get people(или сделать это самостоятельно) для регулярного тестирования различных браузеров, просто nobrainer
0 голосов
/ 10 июля 2013

этот код вызвал ту же ошибку для меня

flexTableWidget.getElement().getStyle().setBackgroundColor("rgba(255,255,255,0.5)");
0 голосов
/ 18 февраля 2011

Скомпилируйте ваше приложение с красивым стилем вывода для веб-режима.Затем вы можете получить больше информации об этом исключении.

...