- •Предисловие
- •Раздел 1. Технологическая база веб-систем
- •1.1. Интернет
- •1.2. Хостинг
- •Хостинг
- •Интернет-адресация
- •1.3. Классификация веб-технологий
- •1.4. Инструментарий разработчика
- •Локальные LAMP
- •Алгоритм создания своего сайта в «Денвере»
- •Редакторы скриптов
- •1.5. Проблемы несовместимости
- •Задачи для самоконтроля
- •Раздел 2. Гипертекстовый язык разметки (HTML)
- •2.1. Основные определения
- •2.2. Структура HTML-документа
- •Заголовок HTML-документа
- •Тело HTML-документа
- •Специальные символы
- •Экранная типографика
- •2.3. Гиперссылки
- •2.4. Фразовые элементы
- •2.5. Текстовые блоки
- •2.6. Мультимедийные объекты
- •2.7. Списки
- •2.8. Таблицы
- •2.9. Формы
- •2.10. Общие атрибуты
- •Задачи для самоконтроля
- •Раздел 3. Каскадные таблицы стилей (CSS)
- •3.1. Основные определения
- •Вид CSS-инструкции
- •Селекторы
- •Приоритеты способов визуализации
- •Оптимизация объявлений
- •Размеры
- •3.2. Включение CSS в HTML-документ
- •Внешние стили (external style sheets)
- •Таблицы стилей документа (document style sheets)
- •Подключение внешних стилей через директиву
- •Стили, подставляемые в строку (inline styles)
- •3.3. Шрифт
- •3.4. Текст
- •3.5. Цвет и фон
- •Правила визуализации цвета
- •Цвет текста
- •Управление фоном
- •3.6. Оформление блоков
- •3.7. Позиционирование элементов
- •Абсолютное позиционирование
- •Относительное позиционирование
- •Задачи для самоконтроля
- •4.1. Основные определения
- •Структура программ
- •4.2. Переменные и массивы
- •4.3. Операции
- •4.4. Операторы
- •Условный оператор
- •Операторы цикла
- •Оператор for
- •Оператор for…in
- •Оператор while
- •4.5. Функции
- •Декларация функции
- •Вызов функции
- •Оператор return
- •4.6. Включение JavaScript в HTML-документ
- •Расположение внутри страницы
- •Расположение внутри тега
- •Вынесение в отдельный файл
- •4.7. Объекты
- •Дерево объектов обозревателя Интернет
- •Объект window
- •Объект Date
- •Объект document
- •4.8. Модели документа DHTML и DOM
- •Модель документа DHTML
- •Модель документа DOM
- •Задачи для самоконтроля
- •Раздел 5. Серверные сценарии: языки SSI и PHP
- •5.1. Включения на стороне сервера SSI
- •Дата последней модификации файла
- •Вставка данных из внешнего файла
- •Работа с переменными
- •Условный оператор
- •5.2. Язык программирования PHP
- •Синтаксис
- •Шаблоны
- •Запись и чтение из файлов
- •Обработка HTML-форм
- •Передача данных в php-скрипт через ссылку
- •Задачи для самоконтроля
- •Раздел 6. Работа с базами данных: MySQL
- •6.1. Основы SQL
- •Вставка данных в таблицу
- •Запрос данных
- •Удаление записей из таблицы
- •Обновление записей в таблице
- •6.2. Управление базой данных через phpMyAdmin
- •Создание базы данных
- •Создание таблицы
- •Вставка данных
- •6.3. Создание собственного PHP-скрипта для управления базой данных
- •Задачи для самоконтроля
- •Раздел 7. Готовые веб-системы
- •7.1. Форумы
- •phpBB
- •Invision Power Board
- •7.2. Блоги
- •Wordpress
- •bBlog
- •7.3. Фотогалереи
- •Coppermine Photo Gallery
- •Gallery
- •jsImageBox
- •7.4. Каталоги ссылок
- •LinkExchanger
- •FairLinks
- •7.5. Cистемы управления документами и файловые архивы
- •KnowledgeTree
- •RW:Download
- •7.6. Статистика
- •CNStats
- •TrackSite
- •7.7. Интернет-магазины
- •OsCommerce
- •PrestaShop
- •7.8. Аукционы
- •Web Auction
- •7.9. Wiki
- •7.10. Системы управления контентом
- •Joomla!
- •Drupal
- •1C-Битрикс: Управление сайтом
- •7.11. Корпоративные порталы
- •LifeRay
- •1С-Битрикс: Корпоративный портал
- •Задача для самоконтроля
- •Заключение
- •Список рекомендуемой литературы
- •П.1.1. Гипертекстовая часть (index.html)
- •П.1.2. Каскадные таблицы стилей (common.css)
- •П.1.3. Результат
- •П.2.1. Проверка форм
- •Подключаемый скрипт test_form.js
- •Вызов функции в HTML-документе для любой формы
- •Вид после выявления ошибок
- •П.2.2. Меню-телепортатор
- •П.2.3. Смена изображения при наведении мыши
function timer_on() {timeoutId = setTimeout(callWin, 3000)} function timer_off() {clearTimeout(timeoutId)}
</script>
Первый параметр функции setTimeout() – имя функции, которая будет вызываться, когда таймер остановится после заданного вторым параметром времени (в миллисекундах)
Методы setInterval() и clearInterval() вызывают какой-либо программный код через заранее заданный интервал времени и прерывать данный цикл:
<html><head><script type="text/javascript">
var tmr;
function si() {
if (confirm('Прошло 5 секунд, остановить цикл?')) clearInterval(tmr);
}
</script></head><body onLoad="tmr=setInterval(si, 5000);">
Каждые 5 секунд будет появляться надпись с предложением прервать цикл.
</body></html>
Если переменную tmr не объявить как глобальную (до всех функций), то программа выполняться не будет. Имя функции указывается без скобок.
Объект Date
Объект Date позволяет объявлять переменные, содержащие календарную дату. В следующем примере создается переменная, в которую будет помещена дата создания HTML-документа.
LD = new Date(document.lastModified)
90
Методы LD.getDate, LD.getMonth, LD.getYear, LD.getHours, LD.getMinutes, LD.getSeconds позволяют извлечь из даты день, ме-
сяц, год, часы, минуты, секунды.
Следующий пример показывает, как организовать изображение работающих цифровых часов на странице:
<html><head><title>Часы в поле формы</title></head>
<body onLoad="myclock()"> <script type="text/javascript"> function myclock() {
ndata=new Date() // Получить текущее время с компьютера клиента
hours= ndata.getHours(); // Получить текущий час mins= ndata.getMinutes(); // Получить текущие минуты secs= ndata.getSeconds(); // Получить текущие секунды
/* Привести изображение минут и секунд к удобному для восприятия человеком виду*/
if (mins < 10) {mins = "0" + mins } if (secs < 10) {secs = "0" + secs }
/* Сформировать строку с изображением текущего времени и вывести ее на экран через текстовый элемент */ document.getElementById("clock").value =
" "+ hours+":" + mins+":" +secs;
setTimeout("myclock()", 1000); // Вызвать данную функцию через секунду
}
</script>
<input type="text" size="9" id="clock"> </body></html>
91
Метод getElementById() рассмотрен ниже.
Объект document
Объект document является корнем DOM-дерева страницы, и, соответственно, через него можно получить доступ ко всем HTMLэлементам, а также динамически формировать HTML-страницу на стороне клиента.
Метод getElementById() позволяет обратиться и (или) изменить атрибуты HTML-элемента, если задан его уникальный идентификатор (см. пример выше).
Метод getElementsByTagName() позволяет вернуть массив ссылок на HTML-элементы заданного типа:
var parr = document.getElementsByTagName('p');
alert('Содержание первого абзаца:\n'+parr[0].innerText);
Специальный символ \n осуществляет перенос каретки на новую строку (аналог тега <br>). Позволяет оформлять текст в модальных окнах и формировать удобочитаемый HTML-код (исходный, а не визуализированный).
Для динамического формирования HTML-кода страницы используются следующие методы объекта document: метод open() открывает чистый документ (если что-то было в документе, то эти данные стираются), методы write() и writeln() производят запись в новый документ HTML-элементов, а метод close() сообщает обозревателю, что документ сформирован и его можно отображать. Рассмотрим пример, в котором используются все указанные методы:
<html><head><script type="text/javascript">
function testloop() {
var Str1 = '<hr align="center" width="' ; document.open();
for (var size = 5; size <= 50; size+=5) document.writeln (Str1+ size+'%">');
92