Предварительный просмотр содержимого в textarea - PullRequest
0 голосов
/ 17 марта 2012

Я получаю следующую ошибку при предварительном просмотре содержимого в браузере IE.Я не понимаю, почему эта ошибка происходит.Стек ошибок выглядит следующим образом:

00: 37: 03.281 [ОШИБКА] Неудачное исключение исключено java.lang.AssertionError: Попытка удалить неизвестный обработчик: com.google.gwt.user.client.ui.ListenerWrapper$WrappedClickListener@54b245 из Тип события в com.google.gwt.event.shared.HandlerManager $ HandlerRegistry.removeHandler (HandlerManager.java:98) в com.google.gwt.event.shared.HandlerManager $ HandcessRegistry(HandlerManager.java:91) на com.google.gwt.event.shared.HandlerManager.doRemove (HandlerManager.java:273) на com.google.gwt.event.shared.HandlerManager.access $ 1 (HandlerManager.java:271).на com.google.gwt.event.shared.HandlerManager $ 2.execute (HandlerManager.java:289) на com.google.gwt.event.shared.HandlerManager.handleQueuedAddsAndRemoves (HandlerManager.java:298) на com.google.gwt.event.shared.HandlerManager.fireEvent (HandlerManager.java:183) на com.google.gwt.user.client.ui.Widget.fireEvent (Widget.java:52) на com.google.gwt.event.dom.client.DomEvent.fireNativeEvent (DomEvent.Java: 116) на com.google.gwt.user.client.ui.Widget.onBrowserEvent (Widget.java:100) на com.capgent.cpt.client.ImageRollover.onBrowserEvent (ImageRollover.java:250) на com.google..gwt.user.client.DOM.dispatchEventImpl (DOM.java:1307) в com.google.gwt.user.client.DOM.dispatchEvent (DOM.java:1263) в sun.reflect.GeneratedMethodAccessor218.invoke (неизвестный источник)в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang.reflect.Method.invoke (Method.java:585) в com.google.gwt.dev.shell.MethodAdaptor.intorj Method (: 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.reactToMessagesWhileWaitingForReturn (BrowserChannel.java:1713) на com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript (BrowserChannelServer.java:165) на com.google.gWM.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.GeneratedMethodAccessor164.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java(Method.java:585) на 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) вm.google.gwt.dev.shell.BrowserChannelServer.run (BrowserChannelServer.java:222) в java.lang.Thread.run (Thread.java:595)

Код для предварительного просмотра содержимоговыглядит следующим образом:

private static native void previewContent() /*-{
   top.consoleRef = window.open("","previewTemplate","");
   top.consoleRef.document.writeln(
      '<html><head><title>Template Preview</title></head>'
      +'<body>'
      + value
      +'</body></html>'
   )
   top.consoleRef.document.close()
}-*/;

Где value - содержимое для предварительного просмотра.

1 Ответ

1 голос
/ 17 марта 2012

Не знаю, является ли это вашей ошибкой, но вы должны использовать $wnd вместо window в ваших методах JSNI.

С Страница GWT JSNI:

Обратите внимание, что код не ссылается на объект окна JavaScript прямо внутри метода. При доступе к окну браузера и объекты документа из JSNI, вы должны ссылаться на них как $ wnd и $ doc, соответственно. Ваш скомпилированный скрипт выполняется во вложенном фрейме и $ wnd и $ doc автоматически инициализируются для правильной ссылки на хост окно страницы и документ.

Также смотрите этот вопрос: В чем разница между $ doc.getElementById («id») и document.getElementById («id») в JSNI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...