Wednesday, July 23, 2014

Re: Unable to load Module in embedded IE / OCX



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 google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment