Оглавление Введение 1
О чем эта книга? 1
Какие программы будут использоваться в этой книге? 2
Типографские соглашения 3
Благодарности 4
ЧАСТЬ I. ВВЕДЕНИЕ В WEB-ДИЗАЙН И WEB-ПРОГРАММИРОВАНИЕ
5
Глава 1. Что такое Интернет и как он работает
7
Основные принципы работы Интернета 7
Что такое Интернет 7
Сервисы Интернета 9
Клиенты и серверы 9
Протоколы 12
Интернет-адреса 15
Основные понятия WWW 17
Web-страницы и Web-сайты 18
Web-обозреватели 20
Web-серверы 22
Что дальше? 23
Глава 2. Язык HTML. Создание Web-страниц
24
Введение в язык HTML 25
Основные понятия HTML 25
Вложенность тегов 27
Две секции Web-страницы 29
Работа с текстом 30
Форматирование фрагментов текста 30
Форматирование абзацев 32
Создание списков 34
Управление переносом строк 37
Специальные символы 38
Текст фиксированного формата 40
Работа с гиперссылками 42
Создание гиперссылок 42
Интернет-адреса в WWW 44
Почтовые гиперссылки 46
Якоря 46
Работа с графикой 48
Внедренные элементы 48
Форматы интернет-графики 49
Вставка графических изображений 50
Специальные изображения 51
Работа с таблицами 54
Создание таблиц 54
Название и секции таблицы 57
Объединение ячеек таблиц 58
Реализация всплывающих подсказок 61
Служебные теги HTML 62
Теги каркаса 63
Название Web-страницы 63
Задание кодировки страницы 64
Пролог 66
Комментарии 67
Фреймы 68
Что такое фреймы 68
Создание набора фреймов 70
Использование цели гиперссылки для указания фрейма 73
Дополнительные возможности фреймов и наборов фреймов 74
Будущее HTML 75
Что дальше? 76
Глава 3. Язык CSS. Каскадные таблицы стилей
77
Введение в каскадные таблицы стилей 77
Создание таблиц стилей 78
Разновидности стилей 79
Разновидности таблиц стилей 80
Правила каскадности и приоритет стилей 82
Атрибуты стилей CSS 84
Параметры шрифта 85
Параметры фона 88
Параметры абзаца 90
Параметры размеров и размещения 93
Параметры отступов 94
Параметры рамки 95
Параметры списков 96
Параметры курсора 97
Псевдостили 98
Контейнеры 100
Физическое и логическое форматирование 102
Что дальше? 103
Глава 4. Язык JavaScript
104
Введение в JavaScript 104
Основные понятия JavaScript 104
Типы данных JavaScript 106
Переменные 108
Именование переменных 109
Объявление переменных 109
Операторы 110
Арифметические операторы 110
Оператор объединения строк 111
Двоичные операторы 111
Операторы присваивания 112
Операторы сравнения 113
Логические операторы 114
Оператор получения типа typeof 115
Совместимость и преобразование типов данных 115
Приоритет операторов 116
Сложные выражения JavaScript 118
Блоки 119
Условные выражения 119
Условный оператор ? 121
Выражения выбора 121
Циклы 123
Функции 126
Объявление функций 127
Функции и переменные. Локальные переменные 128
Вызов функций 129
Присваивание функций. Функциональный тип данных 130
Рекурсия 130
Встроенные функции JavaScript 131
Массивы 134
Ссылки 135
Объекты 136
Понятия объекта и экземпляра объекта 137
Работа с объектами и их экземплярами 137
Объект Object и использование его экземпляров 139
Новые возможности JavaScript, применяемые при работе с объектами 140
Встроенные объекты JavaScript 141
Пользовательские объекты 159
Комментарии 165
Правила написания выражений 166
Что дальше? 167
ЧАСТЬ II. БАЗОВЫЕ ПРИЕМЫ JAVASCRIPT-ПРОГРАММИРОВАНИЯ
169
Глава 5. Общие принципы написания Web-сценариев
171
Как пишутся Web-сценарии 171
Внутреннее представление страницы. Document Object Model (DOM) 174
Именование элементов страницы 176
Получение доступа к элементу страницы 177
Прямой доступ по имени 178
Доступ через коллекции 178
Доступ с помощью свойств и методов DOM 180
Особенности работы с таблицами 184
Средства DOM для получения параметров элемента страницы 188
Файлы сценариев 190
Что дальше? 192
Глава 6. Обработка событий
193
События и обработчики событий 194
Обработка событий по модели Internet Explorer 195
Обработка событий по модели Firefox 200
Получение дополнительной информации о событии 203
Получение информации о событии в Internet Explorer и Opera 203
Получение информации о событии в Firefox 206
Всплытие событий 209
Перехват событий в дочерних элементах в модели обработки событий Firefox 212
Поведение по умолчанию и его отмена 214
Что дальше? 216
Глава 7. Работа с Web-обозревателем
217
Получение сведений о Web-обозревателе 217
Работа с окнами Web-обозревателя 225
Управление размерами и местоположением окна 225
Прокрутка содержимого окна 227
Создание нового окна 230
Работа с программно созданными окнами 232
Переключение между окнами 233
Закрытие окна 234
Прочие манипуляции с окнами 235
События объекта Window 235
Работа с интернет-адресом текущей страницы 239
Работа с историей Web-обозревателя 242
Получение сведений о видеоподсистеме клиентского компьютера 244
Доступ к содержимому фреймов 246
Что дальше? 249
Глава 8. Управление содержимым Web-страницы
250
Работа с содержимым страницы 251
Изменение названия страницы 251
Изменение содержимого страницы 251
Работа с атрибутами тегов 265
Прямой доступ к атрибутам через свойства 265
Использование коллекции attributes 267
Использование методов DOM 269
Работа со стилями 271
События элементов страницы и их обработка 276
События мыши 276
События клавиатуры 282
Прочие события 287
Прочие свойства и методы элементов страницы 288
Что дальше? 290
Глава 9. Управление графикой и мультимедийными элементами
291
Работа с обычными графическими изображениями 292
Свойства и события объекта HTMLImageElement 292
Горячее изображение 293
Полоса навигации 295
Предзагрузка графических изображений 301
Работа с картами-изображениями 303
Работа с мультимедийными данными 306
Поддержка мультимедийных данных 307
Модули расширения Web-обозревателя 308
Элементы ActiveX 311
Компромиссное решение: модель расширения + элемент ActiveX 315
Дополнительные параметры 316
Управление элементами ActiveX из сценариев 322
Что дальше? 335
Глава 10. Управление свободно позиционируемыми элементами. Анимация на Web-страницах
336
Свободно позиционируемые элементы 336
Что такое свободно позиционируемый элемент 337
Создание свободно позиционируемых элементов 338
Управление свободно позиционируемыми элементами из сценариев 345
Анимация на Web-страницах 350
Простейшая анимация 350
Анимация реального времени 352
Анимация по ключевым точкам 361
Drag\'n\'drop 368
Что дальше? 377
Глава 11. Работа с данными
378
Вывод данных 378
Вывод данных в строке статуса 379
Вывод данных в окнах-сообщениях 380
Ввод данных 380
Сохранение данных на клиентском компьютере 382
Передача данных между страницами 390
Обработка данных с использованием регулярных выражений 394
Введение в регулярные выражения 395
Средства JavaScript для работы с регулярными выражениями 400
Что дальше? 406
Глава 12. Работа с Web-формами
407
Создание Web-форм и элементов управления 408
Как работают Web-формы 408
Создание Web-форм 411
Создание элементов управления 412
Примеры Web-форм и страниц, получающих данные от Web-форм 428
Работа с Web-формами и элементами управления из сценариев 434
Работа с Web-формами 434
Работа с элементами управления 438
Примеры Web-форм, управляемых сценариями 454
Что дальше? 459
ЧАСТЬ III. ИСПОЛЬЗОВАНИЕ СПЕЦИФИЧЕСКИХ ВОЗМОЖНОСТЕЙ INTERNET EXPLORER И FIREFOX
461
Глава
13
. Взаимодействие с посетителем (Internet Explorer и Firefox) 463
Работа с произвольными фрагментами текста 464
Работа с фрагментом текста в Internet Explorer 464
Работа с фрагментом текста в Firefox 472
Работа с выделенным текстом 482
Работа с выделенным текстом в Internet Explorer 482
Работа с выделенным текстом в Firefox 484
Работа с Буфером обмена (Internet Explorer) 489
Реализация drag\'n\'drop с переносом данных (Internet Explorer) 493
Использование диалоговых окон HTML (Internet Explorer) 503
Модальные диалоговые окна HTML 504
Немодальные диалоговые окна HTML 510
HTML-приложения (Internet Explorer) 514
Что дальше? 520
Глава 14. Работа с базами данных (Internet Explorer)
521
Введение в базы данных 521
Что такое база данных 521
Текстовая база данных 523
Реализация работы с базами данных 524
Загрузка базы данных 525
Привязка элементов страницы к данным 527
Программная привязка элементов страницы к данным 530
Средства управления TDC из сценариев 534
Фильтрация и сортировка записей средствами TDC 539
Что дальше? 542
Глава 15. Фильтры и преобразования (Internet Explorer)
543
Фильтры 543
Создание фильтров 543
Программное управление фильтрами 551
Преобразования 555
Создание преобразований 555
Программное управление преобразованиями 562
Применение преобразований к странице 564
Что дальше? 565
Глава 16. Поведения и HTML-компоненты (Internet Explorer)
566
Поведения 566
Создание простых поведений 567
Подключение поведений к элементам страницы 570
Специфические события поведений и их обработка 571
Создание свойств поведения 573
Создание методов поведения 582
Создание событий поведения 584
Программное управление поведениями 587
Стандартные поведения Internet Explorer 588
HTML-компоненты 591
Создание HTML-компонентов 591
Использование HTML-компонентов 596
Дополнительные параметры HTML-компонента 598
Программное управление HTML-компонентами 599
Что дальше? 599
Глава 17. Рисование на Web-странице (Firefox)
600
Канва 601
Контекст рисования 602
Рисование простейших фигур 602
Задание цвета, уровня прозрачности и толщины линий 603
Рисование сложных фигур 605
Как рисуются сложные контуры 605
Перо. Перемещение пера 606
Прямые линии 607
Дуги 607
Кривые Безье 608
Прямоугольники 611
Задание стиля линий 612
Использование сложных цветов 614
Линейный градиентный цвет 614
Радиальный градиентный цвет 616
Графический цвет 618
Вывод внешних изображений 620
Преобразования системы координат 623
Сохранение и загрузка состояния 623
Перемещение начала координат канвы 624
Поворот системы координат 625
Изменение масштаба системы координат 626
Управление наложением графики 627
Маски 629
Что дальше? 629
ЧАСТЬ IV. НАЧАЛА ТЕХНОЛОГИИ AJAX
631
Глава 18. Работа с данными XML
633
Язык XML 634
XML DOM 636
Вставка данных XML в Web-страницу 638
Простейшая страница, обрабатывающая данные XML 643
Более сложная страница, обрабатывающая данные XML 645
Страница, выводящая данные XML по частям с возможностью листания 648
Что дальше? 651
Глава 19. Асинхронный обмен данными
652
Введение в технологию AJAX 652
Реализация асинхронного обмена данными 655
Простая страница, реализующая технологию AJAX 660
Загрузка данных в ответ на действия посетителя 663
Заключение 669
ПРИЛОЖЕНИЯ 673
Приложение 1. Часто используемые теги и атрибуты HTML, объявленные стандартами как устаревшие 675
Устаревшие теги 675
Устаревшие атрибуты тегов 678
Приложение 2. Специальные символы HTML 684
Приложение 3. Коды и обозначения цветов 688
Приложение 4. Свободно распространяемые библиотеки для JavaScript-программистов 694
JsHttpRequest 694
Prototype 695
DOJO 695
Предметный указатель 697