Lieber chaostilo,
ich experimentiere gerade auch mit editierbaren iframes. Dabei habe ich eines gelernt: Das Dokument im iframe muss erst geladen sein, bevor man auf das <body>-Element darin zugreifen kann! Solltest Du also ein HTML-Dokument in Deinen iframe laden, so musst Du erst prüfen, ob das Dokument geladen wurde, ehe Du auf seinen Inhalt zugreifst.
Mein Vorschlag: Schreibe im parent des iframes eine Funktion, die per <body onload="parent.initCMS()"> aus dem iframe nach dem vollständigen Laden aufgerufen wird. Ich persönlich definiere keine Quelle für mein iframe, sondern schreibe den kompletten Quelltext per iframe.document.write() hinein. Dadurch erspare ich mir zum einen die zusätzliche HTML-Datei und zum anderen die onload-Geschichte.
Liebe Grüße aus Ellwangen,
Felix Riesterer.