Felix Riesterer: DesignMode und Tastenabfrage im iFrame-body-Element

Beitrag lesen

Lieber Struppi,

D.h. du hast nur zwei sinnvolle Möglichkeiten, entweder in der Quellseite den onload Event zu feuern oder mit timeouts zu arbeiten.

Oder, was ich für sinnvoller halte, keine neue HTML Seite zu laden, sondern die Seite einfach mit JS aufzubauen, dann kannst du auch leichter deine CSS Datei integrieren.

DAS werde ich tun! Auf diese Idee kam ich noch nicht. Wie genau müsste ich das dann tun?

  
var iFrame = document.createElement("iframe");  
// iFrame.src = Highlighter.settings.template; weglassen?  
iFrame.id = Highlighter.settings.prefix + "codePreview";  
iFrame.name = Highlighter.settings.prefix + "codePreview";  
iFrame.style.width = "100%";  
iFrame.style.height = "250px";  
iFrame.style.display = "none";  
  
// neues Dokument erzeugen  
var newDoc = document.createElement("html");  
var newHead = document.createElement("head");  
var newBody = document.createElement("body");  
var newLink = document.createElement("link");  
var newP = document.createElement("p");  
  
newHead.appendChild(newLink);  
newDoc.appendChild(newHead);  
newDoc.appendChild(newBody);  
iFrame.contentWindow.document.appendChild(newDoc);  
     codeSource.parentNode.insertBefore(iFrame, codeSource.nextSibling);  

Sitze gerade in einer Fortbildung... Kann es jetzt also nicht ausprobieren, aber vielleicht kennst Du das schon und weißt, ob es funzt(tm)?

Liebe Grüße aus Ellwangen,

Felix Riesterer.