Hi George,

absolutely - the other browsers are fine with simple DOM manipulation.

Inspired by the (a little bit outdated) benchmark [1], I changed my
code to join arrays instead of strings:

--------------
void attachImages(...) {
  final JsArrayString array = JavaScriptObject.createArray().cast();
  for (...) {
     boolean flag = ...;
     array.push(flag ? "<img src='images/a.gif' style='left:" : "<img
src='images/b.gif' style='top:");
     array.push(String.valueOf(i));
     array.push("em'/>");
  }
  div1.setHTML(array.join(""));
}

--------------

This also only calls setHTML() once at the end of the loop.

Does anybody see possibilities for optimization - either improving
performance or resulting in cleaner code?

[1]: http://www.quirksmode.org/dom/innerhtml.html


On May 28, 12:31 am, George Georgovassilis
<[email protected]> wrote:
> Hello Chris,
>
> I think, especially with respect to IE, the fastest way is still to
> construct a string and assign it to div's innerHTML... provided that
> you can find an intelligent and fast way to create that string, as IE
> (at least prior to 8) has a notoriously slow string concatenation.
>
> On May 27, 9:33 pm, Chris Lercher <[email protected]> wrote:

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to