【发布时间】:2012-04-02 14:58:48
【问题描述】:
在 IE 浏览器中预览内容时出现以下错误。我不明白为什么会发生此错误。错误堆栈如下:
00:37:03.281 [错误] 未捕获的异常已转义 java.lang.AssertionError: 试图从 com.google.gwt.event.shared.HandlerManager$HandlerRegistry.removeHandler(HandlerManager .java:98) 在 com.google.gwt.event.shared.HandlerManager$HandlerRegistry.access$7(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 .ja va: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(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method .invoke(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.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:1713) 在 com.google.gwt 的 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157)。 dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:165) 在 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 .GeneratedMethodAccessor164.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at 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.googl e.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:222) at 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 是要预览的内容。
【问题讨论】: