Еженедельник Свет в Интернет

Главная

Новости

Статьи и обзоры
  Горожанин
  Обнинск в Internet
  Web Design
  Hardware
  Software
  Безопасность
  Серфинг
  Игродром
  Relax
  Технологии
  Web-обзор
  Интернет-ликбез
  Опросник
  УП-Технологии
  ART.net

Ссылки

Архив

О нас

Контакты

Форумы


Основатель:
К.Николаенко

Главный Редактор:
С.Коротков

Web Design:
Neutron


Наш спонсор






Порт POPULAR.RU
POPULAR.RU RegionalBanner Network.






Океан


НПП Метра - промышленные электронные автомобильные вагонные весы
Goldy Interior - салон офисной мебели: кабинеты руководителей, мебель для персонала

= WEB-design =

la_serg

JavaScript: Заключение

Итак продолжаем рассматривать модель событий в JS...

Событие Error. Обработчик данного события вызывается при возникновение ошибки в коде JS. Данное событие не используется для статических скриптов (статические скрипты - те, которые хранятся в html, динамические - те, которые генерируются средствами CGI).

Событие KeyDown происходит при нажатии на клавишу клавиатуры. Полностью аналогично MouseDown. Событие KeyPress происходит при "клике" на клавишу клавиатуры. Полностью аналогично Click. Состоит из двух частей: KeyDown'a и KeyUp'a. Событие KeyUp - происходит при отпускании клавиши клавиатуры. Полностью аналогично MouseUp. Событие Load-Происходит при загрузке объекта. Пример:

<html>
...
<body onload="check()">
...
<script language="JavaScript">
function check() {
if((navigator.appVersion.indexOf("MSIE 5.") == -1)) {
alert("Рекомендуем утановить IE 5.0 или выше\nВозможнно ваш браузер некоректно отбражает данную страницу\nСпасибо.");
}
Yscrn=window.screen.Height; Xscrn=window.screen.Width;
if(window.screen.Height < 768) {
alert("Разрешение вашего экрана " + Xscrn + " x " + Yscrn + "\nМинимальное разрешение для сайта 1024 x 768\nСпасибо");
}
}
</script>

Разберемся с примером. В теге body мы устанавливаем функцию check() обработчиком события Load. Это значит, что при загрузке странички браузер выполнит функцию check(). В нашем примере эта функция проверяет версию браузера и разрешение экрана пользователя.

Первый блок if ищет подстроку MSIE 5. в navigator.appVersion (этот параметр содержит версию браузера. Если подстрока не найдена - функция выдает сообщение. Теперь присваиваем двум переменным высоту и ширину экрана (в пикселях).

Второй блок if, сравнивает высоту с цифрой 768. Если высота меньше, пользователю сообщается его экранное разрешение и предлагается проапгрейдить монитор ;))

Вернемся к событиям (к JS событиям;))) На очереди у нас Reset. Событие происходит при нажатии на кнопку Reset (не путать с той что на системном блоке ;)). Подробнее о кнопке reset и других элементах форм - в следующих выпусках.

Событие Resize мы уже рассматривали. Оно применимо к окну браузера и фреймам. Submit происходит при нажатии на кнопку типа submit. Обычно по этому событию запускают проверку формы (правильно ли ввели данные). Событие Unload - обратно событию load. Можно закрывать дочерние окна при выгрузке основного документа. Обычно, данное событие активно используют владельцы порносайтов. При закрытии их страницы Вам открывается еще 5 ;))

Так, с основными событиями все. Теперь давайте рассмотрим динамическое создание страниц с помощью JavaScipt. Необходимо сразу напомнить - JavaScript выполняется на стороне посетителя, а следовательно не имеет доступа к БД, которые находятся на сервере. Подобное условие очень сильно урезает возможности динамического создания странички с помощью JS.

В JS есть 2 метода: document.write(var) и document.writeln(var). Они записывают переменную var в документ. Первый метод просто записывает, а второй записывает строчку, т.е. после переменной var ставится перевод каретки. В общем случае генерация документа выглядит так: открываем новое окно методом test=open("", "displayWindow", ""); После этого нам необходимо открыть документ в этом окне: test.document.open() В параметре у этого метода Вы можете указать соответствующий MIME тип, это позволяет генерировать не только текст, но и графику! По умолчанию text/html. Теперь, когда докумет открыт, пишем туда любую ерунду, например, test.document.write("<html><body>Hello World!</body></html>"); после окончания записи необходимо закрыть документ test.document.close(); Открывать и закрывать документ надо если Вы генерируете страницу в пустом окне. Если же Вы генерируете кусок страницы, то Вам этого делать не надо. Рассмотрим примерчик для закрепления знаний по JavaScript.

<Script language="JavaScript">
if(window.screen.Height >= 768) {
var clas = "large"; var width = 550; var height = 350; var tablewidth = 760;
}
else {
var clas = "small"; var width = 400; var height = 266; var tablewidth = 540;
}
document.write("<table width=" + tablewidth + " border=0><tr><td>");
document.write("<img border=0 src=images/champions.jpg width=" + width + " height=" + height + "></td><td>");
document.write("<A href=# class=" + clas + ">link1</A><br>");
document.write("<A href=# class=" + clas + ">link2</A><br>");
document.write("</td></tr></table>");
</script>

На сайте была страничка с фотографией и списком фамилий, если поставить фотографии нормальные размеры, то при разрешении 800х600 появлялись полосы прокрутки, если ужать - то при 1024х768 и выше нельзя было разглядеть абсолютно ничего. В результате был написан данный скрипт. Были рассчитаны пропорции размеров фотографии и шрифта ссылок: класс 1 для высокого разрешения и класс 2 для низкого. Оператор if в начале скрипта определяет разрешение экрана и в соответствии инициализирует переменные. Следующий оператор вписывает таблицу, ширина которой идет из переменной tablewidth. В левый столбец вписывается фотография с высотой и шириной равными height и width соответственно. В правый столбец вписываются ссылки (в оригинале с фамилиями) ссылкам выставляется класс стиля соответствующий переменной clas.

В следующих выпусках мы рассмотри использования таблиц стилей. До скорых встреч.

#10(51)/10.04.2001

Copyright © Свет в Internet   Designed by Свет в Internet