molily: HTML in Seite laden

Beitrag lesen

Diese Seite beinhaltet ganz normalen (auch dynamischen/JS) Content und CSS-Angaben. Diese sind im HEAD-Bereich spezifiziert (sind aber nicht ausgelagert). Nach dem dynamischen Einfügen in die Seite sollen noch alle JS-Befehle korrekt ausführbar sein und die CSS-Angaben für die Darstellung korrekt ausgeführt werden.

Man kann CSS und HTML mit viel Sorgfalt so schreiben, dass du den gesamten body-Inhalt eines anderen Dokuments in ein Element des bestehenden Dokuments lädst. (Natürlich solltest du kein gesamtes Dokument in ein anderes laden. Im body des einen sollte also kein weiteres <!DOCTYPE ...><html><head>... usw. stehen.) Da könnten dann auch script- und style-Elemente drinstehen. Letzteres ist zwar aus HTML-Sicht nicht erlaubt, die Browser machen es aber mit. Selbstverständlich überschreiben bzw. addieren sich die CSS-Regeln, denn die Selektoren beziehen sich auf das gesamte Dokument - es sei denn, du grenzt die Selektoren durch Nachfahrenselektoren so ein, dass sie jeweils nur eindeutig auf Elemente zutreffen, die aus einem Dokument stammen:
#eingebettetesDokument textarea {}
Anders herum ist es etwas komplizierter, wenn du einem Element weit oben die ID » ursprungsDokument« gibst, dann wird die Regel #ursprungsDokument textarea {} auch auf das eingebettete Dokument, wenn es darin liegt.

Alles in allem sehr viel Aufwand - warum willst du dir den geben? Besser du formatierst beide Dokumente im einem Stylesheet bzw. baust ein allgemeines und ein spezielles Stylesheet. Dasselbe gilt für die Scripte, die sollten bestenfalls gekapselt und in sich abgeschlossen sein. Wenn du auf beide Dokumente Einfluss hast, dann dürfte das doch kein Problem sein - wieso aber den Effekt eines Iframes erzielen ohne Iframe?

Mathias