In ogni caso, al di là del codice, non capisco proprio perchè scomodare un iframe: metti un tag textarea con display:none nel tuo codice html, quando ti servirà ne cambierai tramite js l'innerhtml e poi gli darai display:block... Senza nessun bisogno di contentEditable o di un iframe!