Есть такое решение. И оно называется
XmlHttpRequest . С его помощью можно из javascript скачать любой файл с того же домена, где он запущен. Скачивание работает только через UTF-8 кодировку. Поэтому строить такой сайт лучше на базе Юникода.
Своё решение в этой области я попробовал реализовать вот на этом сайте
mozgoed-mgoy.narod.ru .
Устроен он предельно просто. Это что-то вроде CMS, которая выводит данные через одну страничку и дополнительные параметры в строке запроса. Внешне выглядит как будто работает на движке Joomla или типа того)
Что нужно чтобы работало:
- Создать шаблон и выделить повторяющиеся элементы в нём.
- Подключить javascript "engine.js" к странице.
- content-type страницы должен быть utf-8
- Повторяющиеся блоки сохранить под именами (например footer.htm) в папке "blocks"
- В шаблоне вставлять нужный блок через javascript функцию <script>writeBlock(имя_блока)</script>
Добавил модуль новостей и продолжаю развивать эту идею. Данную CMS назвал JSManager или просто jsm. Идеальное применение такого решения - простые сайты визитки и минисайты фирмы.
Минусы:
- Дольше грузится
- Невозможно разграничить пользовательские права на сайте. Данные доступны всем.
- Можно использовать только на маленьком сайте, для управления большим сайтом надо подключать AJAX и действовать через PHP сервер, который по FTP изменяет структуру сайта.
- Загруженный текст не индексируется (нужно строить карту сайта самому)
- Большие проблемы с совместимостью на разных серверах. Нормально работает на Chrome, а остальные пока тупят.
Плюсы:
- Взломать сайт невозможно через интерфейс управления движком. Потому что вывод всех данных производится только на стороне клиента.
- Шаблонизация страниц. Легче разобраться в коде дизайна
- Можно быстро изменить какой-либо элемент на всех подопечных страницах. (напоминает глобальные переменные как в uCoz'e)
- Можно динамически вкладывать одни скрипты в другие. Например забыть про вывод текущего года раз и навсегда через специальную функцию javascript