Эмуляция SSI

Наряду с неоспоримыми достоинствами бесплатного хостинга, есть и существенные недостатки. Больше всего меня раздражает отсутствие SSI. Если и вас тоже, сообщаю: Выход есть! И довольно простой, как в поговорке про все гениальное.

Для тех, кто не в курсе, поясняю. Вам наверняка хоть раз в жизни приходилось собирать мозаику. Ну, или хотя бы соединять вместе несколько частей в одно целое. В этом и заключается идея SSI - собирать свой сайт из HTML-фрагментов. Для чего это нужно? Как правило, на каждом сайте некоторые детали присутствуют на всех страничках сайта. У меня, например, таким является оглавление слева. И web-мастеры при создании новых документов просто переписывают их туда. А если вдруг захочется изменить внешний вид, приходится вносить изменения во все файлы. А если сайт содержит много информации, то реконструкция сайта превращается в тягомотину. Можно, конечно, использовать фреймы (про них рассказано в "HTML за полчаса"), но у них есть свои недостатки.

Предлагаемый мною способ, конечно, далек от совершенства, но он лучше, чем ничего, да и не так уж плох (на мой субъективный взгляд).

Итак, все дело в следующем: как вы знаете (а если не знаете, то я с удовольствием вас информирую), в HTML документ можно встраивать скрипты, написанные на различных языках. Один из них - JavaScript - довольно прост и имеет то преимущество, что его понимают все браузеры, а для выполнения используются ресурсы компьютеров ваших посетителей.

Так вот, скрипт на JavaScript не обязательно встраивать в HTML документ, что бы там ни было написано в инструкции по его использованию. Он может располагаться в отдельном файле, следовательно, на него можно ставить ссылку/сноску из любого другого документа, следовательно, его можно написать только один раз и использовать в неограниченном количестве документов.

Наши файлы-кусочки будут иметь содержание
do*****ent.write(´ваш HTML-код´);
или
do*****ent.write("ваш HTML-код");
количество таких записей неограничено, внутри кавычек/апострофов вы пишете строчку с вашим HTML. Естественно, что если вам надо использовать кавычки, вы берете первый вариант, а если апострофы, то второй. Файл с кусочком встраиваемого HTML сохраняете в виде name.js, где вместо name используете любую комбинацию цифр и латинских букв.

Когда вы написали все фрагменты, начинаем их склеивать. В том месте, где должен быть нужный элемент, пишем
,
где source - адрес этого фрагмента.

Таким образом, ваша страничка (в идеальном варианте) будет иметь следующий вид

По-моему, вполне элегантно.

Только старайтесь, чтобы ваши кусочки были осмысленными, самостоятельными и логически законченными. Потому что если написать какой-нибудь открывающий тег в одном, а закрывающий в другом фрагменте, скорее всего не сработает.

Не бойтесь того, что общий размер странички увеличивается из-за многократного повторения do*****ent.write. Так как страничка состоит из нескольких кусочков, ее загрузка будет происходить даже немного быстрее.

Если захотите что-либо уточнить, пишите. НО!!! Я не буду отвечать на вопросы типа "я все сделал так как написано, но ничего не работает". Значит, не совсем так. Шевелите извилинами и ищите ошибки. Самая распространенная - многие забывают, что в адресах и в JavaScript большие и маленькие буквы РаЗлИчАюТсЯ.


2008 © Computer repair