On Wednesday, July 23, 2014 9:59:00 AM UTC+2, Johann Regier wrote:
>
> Hi, Experts again
>
> the Exception is thrown on last line - styleElement.appendChild( cssText );
>
> cssText = Document.get().createTextNode("");
>
> StyleElement styleElement = Document.get().createStyleElement();
> styleElement.setType("text/css");
> styleElement.appendChild(cssText);
>
>
> Is this not Part of GWT, to handle this ?
>
> var css = document.createElement('style');
> css.setAttribute('type', 'text/css');
> var cssText = '';
> if(css.styleSheet) {
> // IE does it this way
> css.styleSheet.cssText = cssText
> } else {
> // everyone else does it this way
> css.appendChild(document.createTextNode(cssText));
> }
>
>
>
>
If you used high-level APIs like StyleInjector, then yes GWT would handle
that for you; but when a workaround is needed in 0.001% of the cases and
would have a performance impact on the other 99.999%, then GWT let's you do
it yourself. Node#appendChild(Node) is such a case: if, in IE, which is
already slower than the other browsers (at least older versions that need
the workaround), you'd have to check "if this looks like a style element
and the node being appended is a text node, then do it that way" then your
app would be sluggish and barely usable.
My advice is to change your code to use StyleInjector (or a CssResource).
--
You received this message because you are subscribed to the Google Groups
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.