На самом деле кадры НЕ являются хорошим подходом.Вам следует избегать рамок и полностью по возможности забывать об их существовании. Фреймы - это зло.
Лучшим подходом является использование препроцессора (PHP, ASP, Python, ..) для включения частей страницы в HTML.Существует множество фреймворков и шаблонных систем, которые сделают за вас тяжелую работу.Например, для PHP см. Smarty Temlating Engine.
Если вы не хотите, чтобы браузеры перезагружали всю страницу, а только содержимое в середине страницы AJAX - гораздо лучшее решение.
Обновление:
В jQuery вы можете использовать функции jQuery.click () и jQuery.load () для загрузки и размещения нового контента на странице, когда пользователь нажимает напункт меню.
Лучшая практика при использовании ajax для динамической загрузки нового контента - предоставление альтернативы для машин с отключенным JavaScript (например, сканеры поисковых систем).Тем не менее, это немного сложнее реализовать это с нуля, но есть некоторые рамки, которые могут вам помочь.Лично я предпочитаю Nette Framework , потому что он легкий и эффективный по сравнению с другими платформами.