Austausch des alten body gegen body2:
document.body = body2;
Das geht natürlich nicht. document.body ist bloß eine Referenz, und das einzige was du hier machst, ist die Objekteigenschaft auf ein anderes Objekt zeigen zu lassen (wenn der Browser das zulässt). Am DOM-Baum ändert sich da nichts. Wenn du den body-Elementknoten durch einen neuen austauschen willst, musst du schon die DOM-Methoden verwenden, hier z.B.
document.documentElement.replaceChild(neuerBody, document.body);
Mathias