Hallo Michael_K,
ok, vielleicht reden wir aneinander vorbei. Ich wollte vor allem klar gestellt haben, ob in der Quelle <span class="pre"></span>
oder <span class="pre" />
steht.
Dass es zu Layoutveränderungen kommt, wenn ein Textknoten in der Position verschoben wird, ist klar.
Verstehe ich das richtig, dass Du den HTML Sourcecode per Ajax von einem Server saugst und dann in einen iframe
implantieren willst?
Hast Du validiert, dass das HTML vor der Zuweisung an den iframe-Inhalt noch exakt wie gewünscht aussieht?
Ich habe auch noch etwas in jsFiddle gespielt: https://jsfiddle.net/Rolf_b/r8hjvqfo/
<h1>Hello <iframe></h1>
<iframe id="foo" src=""></iframe>
const fooDoc = document.getElementById("foo").contentDocument;
const html =
"<head><style>" +
".pre { display: inline-block; width:2em; height: 1em; background-color: #ccf; }" +
"</style></head>" +
"<body>" +
"<span class='pre'></span> Lorem Ipsum" +
"</body>";
fooDoc.open("");
fooDoc.write(html);
foODoc.close();
Sieht aus wie erwartet, der Textknoten bleibt hinter dem span. D.h. dein Killer steckt irgendwo anders, beim Übertragen in den iframe geschieht nichts.
Rolf
sumpsi - posui - obstruxi