Представим, вы хотите, чтобы на
Вашем сайте, на первой его странице или на всех сразу, где-нибудь сверху сияла
гордая надпись: "Сегодня 2 октября 2000 г.". Делается это все для того, чтобы
посетитель не забывал, какое сегодня число, месяц и год. А то ведь, бывает,
кто-нибудь как зайдет в Интернет, так и пропадает там на несколько суток, а
потом после обрыва связи с удивлением оглядывается вокруг и пытается
сообразить, что произошло, где он находится, какой сегодня день/месяц/год, и
почему это вдруг прекратилась связь (неужели случилось самое ужасное -
закончились средства на личном счету у провайдера?).
Итак, высокую цель - установить
точную дату на вашем сайте, можно достичь несколькими способами. Один из них -
банальное ежедневное обновление вашей страницы в 00 часов 00 минут. Этот метод
самый простой, ни к чему особенному не обязывающий, лишь к знанию HTML и к
должному запасу терпения. А также к тому, чтобы вы были проникнуты чувством
ответственности перед своими посетителями. Однако мы как особо продвинутые в
техническом отношении пользователи, таким простыми дорогами не ходим. Мы
приверженцы слогана: "Даешь автоматизацию!" И вам под силу добиться того, чтобы
дата на вашей странице обновлялась автоматически. Пользуясь возможностями одного
лишь языка разметки гипертекстов, этого не достичь. Зато с поставленной задачей
вы с легкостью справитесь, используя скрипт. Рассмотрим два варианта ее
выполнения - с помощью Java- и CGI-скрипта, написанного на Perl.
Вариация первая. Java-скрипт Открываем web-страницу в HTML-редакторе (или что вы там используете, может
быть, обычный текстовый) и там, где требуется отобразить текущую дату, вводим
следующий код:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var months=new Array(13);
months[1]="января";
months[2]="февраля";
months[3]="марта";
months[4]="апреля";
months[5]="мая";
months[6]="июня";
months[7]="июля";
months[8]="августа";
months[9]="сентября";
months[10]="октября";
months[11]="ноября";
months[12]="декабря";
var time=new Date();
var lmonth=months[time.getMonth() + 1];
var date=time.getDate();
var year=time.getYear();
if (year < 2000)
year = year + 1900;
document.write(date + " ");
document.write(lmonth + ", " + year + "г.");
// End -->
</SCRIPT>
Все просто, теперь открываем эту страницу в браузере и наслаждаемся результатом
- вы видите нечто похожее на 25 сентября 2000 г.? Тогда все отлично. Однако при
использовании JavaScript всплывают и недостатки, которые для некоторых
посетителей вашего ресурса покажутся существенными. Во-первых, если в браузере
не установлена опция обработки Java-скриптов, то в открывшейся странице никакой
даты не отобразится. А согласно последней статистике, около 17 % пользователей
отключают в своих браузерах обработку Java-скриптов, а это почти каждый пятый
посетитель вашего сайта.
Во-вторых, ваша web-страница "потяжелела" на 0.5 Кб. Хотя размер и
несущественный, однако не все Java-скрипты такие короткие, кроме того, далеко не
редкость, когда одновременно используется несколько скриптов (а иные умельцы
"впихивают" и несколько десятков). Таким образом использование Java-сценариев
весьма ощутимо увеличит объем web-страницы, что в свою очередь, повлияет на
время ее загрузки.
И, наконец, третий недостаток - Java-скрипт обрабатывается в компьютере
посетителя web-страницы, т. е. оказывает дополнительную нагрузку на его систему.
Приведенный пример кода в этом смысле безобиден, но когда на странице
используется несколько Java-скриптов, и не таких коротких, ваш компьютер
начинает натужно скрипеть винчестером, процессор нагревается на пару лишних
градусов и, в конце концов, все это может привести к зависанию системы.
Наверняка большинство читателей сталкивались с такой ситуацией. Кроме того, если
в системе посетителя установлена неверная дата, то такую же дату он увидит на
вашей странице ?.
Так что же делать? Воспользоваться вариантом номер два.
Вариация вторая. CGI-скрипт Открываем любой текстовый редактор и вводим следующий код:
Для справки - это ни что иное, как программа, написанная на Perl. Первая строка
может выглядеть и по-другому, например, вот так: #!/usr/local/bin/perl все зависит от того, где расположен интерпретатор Perl на сервере (об этом
узнайте у хостинг-провайдера).
Где-нибудь в удобном месте сохраняем документ под именем date.cgi, после
чего проделываем ряд нехитрых операций. Полученный файл загружаем на сервер,
туда, где находится ваш сайт, в директорию CGI-BIN. На всякий случай
уточним, что делать это следует с помощью любого ftp-клиента, в режиме
ASCII. Используя этот же ftp-клиент, устанавливаем файлу date.cgi права
доступа (CHMOD) 755.
Далее делаем следующий шаг. Вставьте в том месте вашей HTML-страницы, где должна
отображаться текущая дата, следующий код: <!--#exec cgi="/cgi-bin/date.cgi" --> Обратите особое внимание на то, чтобы в этой строке был пробел перед
элементом окончания комментария: --> Теперь загружаем web-страницу на сервер, открываем ее в браузере и
наслаждаемся результатом. Он, собственно, такой же, как и в предыдущем случае,
т. е. в том месте web-страницы, где была набрана строка <!--#exec cgi="/cgi-bin/date.cgi"
-->, мы увидим дату: 25 сентября, 2000 г.
Правда, для того, чтобы все получилось, необходимо выполнить два условия:
1. На сервере, где размещен ваш сайт, должно быть разрешено выполнение
CGI-скриптов, в частности программ, написанных на языке Perl.
2. Сервер должен поддерживать выполнение SSI (Server Site Includes).
Технически любой современный сервер способен удовлетворять этим требованиям,
главное, чтобы соответствующие функции были активизированы администратором. На
сегодняшний день значительная часть даже бесплатных сервисов, предоставляющих
место для страниц, осуществляют поддержку и CGI, и SSI.
Итак, подведем итоги. Во-первых, текущую дату на вашей странице увидит
посетитель любого браузера, независимо от его настроек - в частности
активизированной опции обработки JavaScript, как это было в прошлом примере.
Во-вторых, размер страницы (для посетителя) увеличился ровно на число знаков в
отображаемой дате. В-третьих, данный скрипт выполняется на сервере, поэтому при
отображении вашей web-страницы система пользователя не "почувствует" никакого
дискомфорта.
В конце концов, какой из этих методов предпочесть - решать вам, главное, что и в
том и другом случае мы добились одинакового результата - посетитель видит на
вашей странице текущую дату. В дополнение отметим, что это не последний наш
разговор о скриптах, и в ближайшем будущем мы обязательно продолжим начатую
тему. До встречи!