Советы

Чем заменить SSI, или необычное использование JavaScript

Rambler's Top100
Структура подавляющего количества интернет-страничек примерно одинакова: это заголовок странички, навигационное меню и, непосредственно, само содержимое. Нет проблем, когда на Вашем сайте несколько страниц. Если Вы захотели изменить дизайн, то на это уйдет немного времени. А если страниц не 8-10 а 100-200? Чтобы поменять дизайн нужен долгий однообразный кропотливый труд. А если в меню появился новый пункт? Опять же везде на каждой странице надо вводить изменения.
Помочь в этом может SSI - возможность собрать страничку из отдельных блоков. Т.е у Вас есть меню, которое одинаково на всех страницах. Вы его выносите в отдельный файл, а затем включаете его в нужное место на странице. Теперь, чтобы изменить меню на всех страницах, надо изменить его только в одном файле.
Это конечно удобно, но данная возможность имеется только при платном хостинге, или Вам придется вставлять баннеры хостера, что может быть нежелательно для Вас.

Справиться с этой проблемой может язык JavaScript, а именно атрибут SRC в теле тега <SCRIPT>.
Атрибут SRC задает URL файла, в котором находится код программы JavaScript, а в самом файле с расширением *.js мы запишем то, что должно выводиться на экран при помощи метода document.write
Например у нас есть меню состоящее из двух пунктов и страница, в которую надо вставить это меню:
Файл menu.js :
document.write("<B>Меню:</B><BR>");
document.write("<A href="page1.html">Ссылка1</A><BR>");
document.write("<A href="page2.html">Ссылка2</A>");
Файл page.html :
<html>
<head>
<title>Проверка</title>
</head>
<body>
<h1>Моя страница</h1>
<script src="menu.js"></script>
. . .
</body>
</html>
Т.е. вместо <script src="menu.js"></script> браузер вставил:
<B>Меню:</B><BR>
<A href="page1.html">Ссылка1</A><BR>
<A href="page2.html">Ссылка2</A>
И если вместо меню на всех страницах вставить <script src="menu.js"></script>, то для изменения меню на всех страницах нужно изменить только файл menu.js
Но у этого метода есть небольшие недостатки:
  • Исходный код увеличивается за счет прибавления document.write
  • Достаточно старые браузеры не распознают тег <SCRIPT>, а следовательно ничего не подставят.
  • Достаточно часто происходит путаница с двойными и одинарными кавычками, т.к. они должны быть вложены друг в друга.

  • Материалы с сайта "Справочник Web-языков": www.spravkaweb.ru.

    Rambler's Top100