Hiho!
Vielen Dank für die Hilfe!
Ich konnte das Problem jetzt mit beiden von euch gegebenen Quellen lösen. Sieht nun wie folgt aus und tut was es soll:
Code:
// Format XML
output = vkbeautify.xml(output); // <-- Thx an Benu
output = output.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/ /g, ' ').replace(/\n/g,'<br />'); // <-- Thx an Leange
var div = document.createElement("div");
div.innerHTML = output;
div.style.width = "100%";
div.style.height = "400px";
div.style.cssText = "overflow: auto;height: 400px; border: solid 1px black;border-right: solid 1px lightgray;border-bottom: solid 1px lightgray; white-space: nowrap;";
div.style.fontSize = "13px";
div.id = "XMLContainer"
Es wurde durch die vielen missglückten Kombinationen an Code irgendwann einfach zu undurchsichtig. Nochmal richtig strukturiert und vorher drüber nachdenken hat dann zur Lösung geführt.
Nochmals Danke für die Hilfe!
Hierzu noch eine Anmerkung:
Zitat von
Benu
Also, iFrames kannst du aufgrund der Content Security Policy eigentlich kaum bist gar nicht bearbeiten. Ein iFrame ist ein eingebetteter Frame, sprich ein Browser-Fenster im Fenster. Das war natürlich nicht immer so, aber es gibt zB. Zahlungssysteme die als iFrame das Kreditkarten-Formular haben und dass man da nicht einfach mitlesen kann, gibt es diese Restriktionen. So zumindest in der Theorie.
Die originalen Daten lese ich ja aus einem IFrame. Daher kam mir auch der Gedanke die bearbeiteten Daten wieder ein einem solchem darzustellen. Dies wurde mir aber wie bereits geschrieben unterbunden. Lesen durfte ich jedoch das IFrame.
Zitat von
Benu
Tipp am Rande: Verwende doch statt insertBefore, appendChild. Dann hast du es unter dem iFrame, wie du es wolltest.
Danke für den Tipp! Tut aber im mom genau das was es soll, da sich das "insertBefore" an einem Element orientiert, welches am Ende der Page zu finden ist. Von daher passt es so.
Viele Grüße,
Barny