Early results on injecting style sheets into DOM
Eli Cochran
eli at media.berkeley.edu
Fri Oct 10 20:24:14 UTC 2008
Background:
The skinning team is looking at ways to inject style sheets into DOM
at run-time as a way to transform pages that we don't know very much
about.
Early results:
I'm still in the midst of my tests on injecting CSS style sheets into
the head using Javascript.
The good news is that it works on FF3 and Safari3 on the Mac and FF3,
IE6 and IE7 on Windows. After the page has loaded you can inject a
style sheets into the HEAD and the style changes are reflected in the
DOM. Sweet!
The bad news is that only FF3 and Safari seem to respect the CSS
hierarchy. Inject a style sheet that sets your text to blue after all
the other style sheets in the HEAD, and your text changes to blue, and
then if you inject a style sheet that changes all the text to red
before all the style sheets in the HEAD, your text stays blue. Which
is as it should be, since the blue sheet still comes after the red
sheet in the hierarchy. Happiness!
But under the IEs if you follow the same steps, all your text turns
red. Whatever styles get injected last, win, even if they were
injected higher up in the hierarchy. Sadness!
Interestingly, if you inspect the DOM as reported to Debugbar from IE,
the stylesheets are getting loaded into the DOM in the correct order,
they just aren't being parsed correctly.
This is still a technique that may be useful to us, but one of the
things that we could not do is inject a CSS reset before all the other
style sheets. We would then crush any subsequent styling.
I still want to test what happens if I inject stylesheets after the
HEAD loads but before the BODY loads and a few other things.
More to come...
- Eli
. . . . . . . . . . . . . . . . . . .
Eli Cochran
user interaction developer
ETS, UC Berkeley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.idrc.ocad.ca/pipermail/fluid-work/attachments/20081010/719fb6c9/attachment.htm>
More information about the fluid-work
mailing list