Ray,
Good suggestion. I checked it out, but here's what I found:
* The generated code (UploaderWidgetImplIE_BinderImpl.java) does
contain all of the HTML necessary. Here is an excerpt:
...
com.google.gwt.dom.client.ObjectElement f_object1 =
(com.google.gwt.dom.client.ObjectElement) UiBinderUtil.fromHtml
("<object classid='clsid:8AD9C840-044E-11D1-B3E9-00805F499D93'
codebase='http://java.sun.com/update/1.6.0/jinstall-6u16-windows-
i586.cab#Version=6,0,0,1' height='350' name='Uploader'
width='100%'><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 id='" + domId0 + "'
name='uri' value=''> <param id='" + domId1 + "' name='token' value=''>
No Java Support.</object>");
...
* The innerHTML alone isn't the problem. It must be with the way GWT
is handling it. To test this, I ran the following successfully in IE8
(where the GWT code fails):
<div id="uploader"></div>
<script type="text/javascript">
var template = '\
<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="foo" />\
<param ui:field="tokenParam" name="token" value="bar" />\
No Java Support.\
</object>';
document.getElementById('uploader').innerHTML = template;
</script>
When assigning the innerHTML all at once as above, it seems to run
fine.
I suppose as a next step I could try building the HTML
programmatically, or just doing like above and slapping a big string
into place...
Any other ideas?
On Dec 13, 4:43 pm, Ray Ryan <[email protected]> wrote:
> Thanks for the interesting use case!
>
> I suspect you're discovering limitations in IE's innerHTML support, but
> that's just a guess. The first thing to do is look at the generated
> implementation of UploaderWidgetImplIE.Binder, and see if the missing bits
> are missing there too.
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors