WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Эмуляция SSI

Эмуляция SSI


Дата публикации: 20-01-2008

Алексей Годовник

,

http://mysite.hut.ru/

 

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

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

"HTML за полчаса"

, но у них есть свои недостатки.

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

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

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

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

Когда вы написали все фрагменты, начинаем их склеивать. В том месте, где должен быть нужный элемент, пишем
<script language="javascript" src=source></script>,
где source - адрес этого фрагмента.

 

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

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

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

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

Домен продается

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Апрель 2024 (1)
Октябрь 2018 (14)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта



Случайная цитата

Roberto Waltman:

"Объектно-ориентированная версия «спагетти кода» — это, конечно, «лазанья код» (очень много слоев)."

Опрос

Ваша ОС?

Windows XP
Windows 7
др. версия Windows
Linux
др. ОС