Hi!
Ich hab mich hier und anderswo ja schon öfter drüber beschwert, dass sich gewisse Browser nicht an Standards halten. ‚Gewisse‘ war dabei meist der IE 😉
Nun, offenbar tritt auch mal das Gegenteil auf… aber zum Anfang.
Ein Uber-1337-Web2.0-Projekt benutzt unter anderem DOM-Manipulation, dabei werden auch <style>-Nodes injected. Und zwar unterhalb des <body>s. Das funktioniert prima im Firefox(3) und in Opera, aber NICHT in IE und Safari/Webkit/KHTML/whatever. Woran liegt das? Nun, laut Standard darf ein <style>-Node nur unterhalb von <head> stehen. Meines Wissens sind Firefox und Opera die einzigen, die das ignorieren und die Dinger auch anderswo parsen. Schade eigentlich, denn meine so einfache Lösung wird jetzt durch Sonderbehandlung für die, die sich an Standards halten wieder komplizierter.
Was mich zum Fazit bringt: auch das W3C hat die Weisheit nicht gepachtet, für mich ist dieser Standard inkonsequent: die an sich ähnlich auszulegenden <script>s darf man schließlich auch überall verwenden.
Wer aber ne gute Idee hat, wie man das so hinkriegt, dass die Styles auch da geparst werden, oder wer mir sagen kann wie ich in IE/Webkit DOM-Änderungen Hooken kann (brauch ich fürs aufräumen, wenn ich doch in den <head> injecten muss), der kriegt ein Bienchen und eine About-Erwähnung 😉
cu,
Martok