das geht so ohne Weiteres nicht, wie Du das von Frames gewohnt bist. Was Du machen könntest wäre den Inhalt für das Div "ContentBody" per Ajax nachzuladen, womit Du allerdings NonJSUser aussperren würdest.
Am Einfachsten wäre es, falls Dir PHP zur Verfügung steht, in den "ContentBody" ein Switch Konstrukt einzubauen, dass dann anhand des aufgerufenen Links die entsprechende Inhalt.(php|htm) inkludiert.
Somit würde zwar bei jedem Seitenaufruf die komplette Seite neu geladen und nicht nur das neue Pseudo-Frame, aber alles außer dem tatsächlichen Content würde auf der selben Datei bzw. den selben Dateien basieren.
Code:
<?php
switch($_GET['site']) {
default : include 'start.htm'; break;
case 'kontakt' : include 'kontakt.htm'; break;
...
}
?>
der Switch wäre somit über einen URL-Zusatz "?site=kontakt" abzufangen.
Bei einer Anfrage auf die index.php würde die start.htm in Dein "Frame" geladen und bei index.php?site=kontakt würde die kontakt.htm geladen.