Hallo Felix,
ich glaube, das ist nicht das Argument. Document.write macht man, um irgendwo während der Parse-Phase das HTML erweitern zu können, und solange ein HTML Element nicht fertig ist, kann man keine Eventlistener anhängen.
Das Argument ist, dass document.write aus der Zeit vor dem DOM stammt und es dem HTML Parser Knüppel vor die Füße wirft. Er muss dann nämlich aufhören und nach Ende des Scripts sozusagen von vorn anfangen, weil der Text, den er bisher schonmal vorbereitet hatte, nun ungültig sein kann. Das hemmt die Performance beim Seitenladen. Und die HTML Spec schreibt:
And to make matters even worse, the exact behavior of this method can in some cases be dependent on network latency, which can lead to failures that are very hard to debug. For all these reasons, use of this method is strongly discouraged.
Korrekte Lösung wäre, am Ende des <head> Bereichs ein Scriptlein unterzubringen, das mit document.createElement ein link-Element passend erzeugt und dieses dann mit document.head.append an den Head anzuhängen.
Besser noch wäre - wie ich schon schrub - mit Media-Abfragen zu arbeiten.
Rolf
sumpsi - posui - obstruxi