The last two lines of the entry point code should read: GWT.log(impl.getElement().getInnerHTML(), null); RootPanel.get("uploader").add(impl);
That was a copy/paste problem on the post and not in my code. So the problem isn't that... ;-) On Dec 12, 5:55 pm, jarrod <jarrod.carl...@gmail.com> wrote: > I created a widget to embed a Java applet in my web page. Since IE > requires an <object> tag while other browsers need a <embed> tag, I > used deferred binding to get the correct implementation and used > UiBinder to setup the HTML. However, in IE, when the Widget is > inserted into the page, the HTML is way off from what I wrote and > sadly the extra applet params that need to be passed to my applet are > not passed. > > Here's my widget's ui.xml: > > <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'> > <div> > <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" > name="Uploader" width="100%" height="350" > codebase="http://java.sun.com/update/1.6.0/jinstall-6u16- > windows-i586.cab#Version=6,0,0,1"> > <param name="code" > value="org.jets3t.apps.uploader.Uploader.class" /> > <param name="codebase" value="." /> > <param name="archive" > value="uploader-0.7.1-signed.jar,jets3t-0.7.1- > signed.jar,jets3t-gui-0.7.1-signed.jar,commons-codec-1.3- > signed.jar,commons-httpclient-3.1-signed.jar,commons-logging-1.1.1- > signed.jar" /> > <param name="type" value="application/x-java- > applet;version=1.6" /> > <param name="scriptable" value="false" /> > <param name="mayscript" value="false" /> > <param ui:field="uriParam" name="uri" value="" /> > <param ui:field="tokenParam" name="token" value="" /> > No Java Support. > </object> > </div> > </ui:UiBinder> > > I need to be able to set the value of the 'uri' and 'token' params, so > I grab a reference to those with UiBinder. Here's my widget code: > > public class UploaderWidgetImplIE extends UploaderWidgetImpl { > > interface Binder extends UiBinder<DivElement, > UploaderWidgetImplIE> { > }; > > private static final Binder binder = GWT.create(Binder.class); > > @UiField > ParamElement tokenParam; > > @UiField > ParamElement uriParam; > > UploaderWidgetImplIE() { > setElement(binder.createAndBindUi(this)); > } > > @Override > public void setToken(String token) { > this.tokenParam.setValue(token); > } > > @Override > public void setUri(String uri) { > this.uriParam.setValue(uri); > } > > } > > And finally, my entry point to tie this all together: > > public void onModuleLoad() { > String eventUri = Window.Location.getParameter("uri"); > String token = Window.Location.getParameter("token"); > > UploaderWidgetImpl impl = GWT.create > (UploaderWidgetImpl.class); > impl.setUri(uri); > impl.setToken(token); > > GWT.log(uploader.getElement().getInnerHTML(), null); > RootPanel.get("uploader").add(uploader); > } > > Now the bizarre part: The GWT.log() statement there prints the > following to the console: > > <OBJECT name=Uploader codeBase="http://java.sun.com/update/1.6.0/ > jinstall-6u16-windows-i586.cab#Version=6,0,0,1" classid=clsid: > 8AD9C840-044E-11D1-B3E9-00805F499D93 width="100%" height=350><PARAM > NAME="_cx" VALUE="5080"><PARAM NAME="_cy" VALUE="5080"> No Java > Support. </OBJECT> > > Where in the heck did the rest of my HTML go? It's the same thing if I > print this out again after the widget is placed into the DOM. Even > though the HTML printed here does NOT contain information about the > Applet's main class or classpath entries, the applet does start, > albeit without my 'uri' and 'token' parameters. If I use IE8's > developer tools to inspect the DOM, it shows me the correct HTML has > been added to the DOM. > > So what's going on here? Any ideas? -- http://groups.google.com/group/Google-Web-Toolkit-Contributors