С бурным развитием Всемирной Сети у ее пользователей появилось множество замечательных возможностей. Одной из них является бесплатный хостинг. Разместить свою страничку в Сети проще простого, да к тому же и бесплатно. Но всем читателям МК известно, где встречается бесплатный сыр: в награду за услуги размещения информации вы должны терпеть на своих страничках баннеры хостера. Также обычно приходится обходиться без всяческих удобств — возможности использовать SSI, Perl, PHP и SQL как правило отсутствуют, что не только накладывает существенные ограничения на функциональные возможности сайта, но и доставляет немало хлопот web-мастеру. «А в чем, собственно, проблема?» — могут удивиться непосвященные читатели. Действительно, сначала все будет ОК. Страницы, которые создавались часами, будут загружаться на сервер за считанные секунды. Но вот когда через совсем небольшой промежуток времени количество страниц на сайте достигнет нескольких десятков и в очередной раз потребуется добавить новый пункт меню или изменить адрес web-мастера, вот тогда-то вам и надоест грузить и редактировать все эти HTML-файлы. А ведь код таких элементов как меню, шапка и баннеры обычно присутствует на каждой странице ресурса в неизменной форме. И при малейшем изменении одного из элементов (скажем, надо добавить новый пункт меню) приходится редактировать каждый HTML-файл. Так появляется желание поместить эти повторяющиеся элементы в отдельный файл, подключить его к каждой странице и, просто внося в него изменения, влиять на содержимое всех страниц сразу. В свое время с этой проблемой боролись про помощи фреймов. Web-мастерам было очень удобно. А посетителям? Ну, как повезет...

С появлением SSI (Server Side Include — включение на стороне сервера; см. статью Дениса ТИМОШЕНКО «Что сулит нам SSI» в МК №46 (217)) ситуация улучшилась коренным образом. Макроинструкции, исполняемые на сервере, позволили вставлять в документ содержимое другого файла. Таким образом, такие элементы как меню выносятся в отдельный файл и по необходимости подключаются к произвольному количеству web-страниц. Теперь для того, чтобы изменить меню на любом количестве страниц, достаточно изменить один единственный файл. Почему SSI так быстро стал популярным? Все очень просто: документ генерировался на стороне сервера, а пользователь получал готовый результат, даже не подозревая, что он был «сложен» в одно целое из нескольких частей. Все вроде бы наладилось. Но не тут-то было. SSI считался элитным сервисом, кроме того, прилично нагружал сервер. По этой причине только в последнее время SSI появился на некоторых бесплатных хостингах.

Но как же быть тем, кто создал свой сайт на беспланом хостинге довольно давно? Тем, у кого этот сайт разросся, стал популярным и имеет раскрученный URL? Тем, у кого нет средств и желания на приобретение платного хостинга и доменного имени? Что делать тем, кто не хочет переезжать? Здесь на помощь приходит наш старый друг и верный помощник —JavaScript. Благодаря своей простоте и невероятной гибкости, JS позволяет многое. В том числе и подключение содержимого отдельных файлов.

Включение фрагментов кода на JS в документ осуществляется при помощи тэга