Глава 13 «JavaScript в веб-броузерах» является первой главой второй части, в которой описываются детали использования JavaScript в веб-броузерах. Самое важное, что вы узнаете в этой главе, - программный код JavaScript может встраиваться в HTML-файлы с помощью тега <script>:
// Это некоторый программный код на клиентском JavaScript,
// встроенный непосредственно в HTML-файл
</script>
<р>Далее опять следует разметка HTML.</р>
</body>
</html>
Глава 14 «Объект Window» исследует приемы управления веб-броузером и описывает некоторые наиболее важные глобальные функции клиентского JavaScript. Например:
<script>
function moveon {
// Вывести модальный диалог, чтобы получить ответ пользователя
var answer = confirm("Ready to move on?");
// Если пользователь щелкнул на кнопке "OK", заставить броузер загрузить новую страницу
if (answer) window.location = "http://google.com";
}
// Запустить функцию, объявленную выше, через 1 минуту (60000 миллисекунд).
setTimeout(moveon, 60000);
</script>
Обратите внимание, что примеры программного кода на клиентском JavaScript в этом разделе длиннее примеров на базовом языке, которые мы видели выше в этой главе. Эти примеры не предназначены для ввода в окне консоли Firebug (или в другом подобном инструменте). Однако вы можете вставлять их в HTML-файлы и затем запускать, открывая файлы в веб-броузере. Так, пример, приведенный выше, является самостоятельным HTML-файлом.
Глава 15 «Работа с документами» переходит к исследованию фактической работы, выполняемой с помощью JavaScript на стороне клиента, - управлению содержимым документа HTML. Она покажет вам, как выбирать определенные элементы HTML из документов, как устанавливать HTML-атрибуты этих элементов, как изменять содержимое элементов и как добавлять в документ новые элементы. Следующая функция демонстрирует некоторые из простейших приемов
поиска и изменения элементов документа:
// Выводит сообщение в специальной области для отладочных сообщений внутри документа.
// Если документ не содержит такой области, она создается.
function debug(msg) {
// Отыскать область для отладочных сообщений в документе, поиск по HTML-атрибуту id
var log = document.getElementByld("debuglog");
// Если элемент с атрибутом id="debuglog" отсутствует, создать его.
if (!log) {
log = document.createElementC'div"); // Создать элемент <div>
document.body.appendChild(log); // Добавить в конец документа
}
// Теперь обернуть сообщение в теги <рге> и добавить в элемент log
var рге = document.createElement("pre"); // Создать тег <рге>
var text = document.createTextNode(msg); // Обернуть msg в текстовый узел
pre.appendChild(text); // Добавить текст в тег <рге>
log.appendChild(pre); // Добавить <рге> в элемент log
}
Глава 15 демонстрирует, как с помощью JavaScript можно управлять HTML-элементами, которые определяют содержимое веб-страниц. Глава 16 «Каскадные таблицы стилей» демонстрирует, как с помощью JavaScript можно управлять каскадными таблицами стилей CSS, определяющими представление содержимого. Чаще всего для этой цели используется атрибут HTML-элементов style или class:
function hide(e, reflow) { // Скрывает элемент e, изменяя его стиль
if (reflow) {// Если 2-й аргумент true,
e.style.display = "none" // скрыть элемент и использовать
} // занимаемое им место
else { // Иначе
e.style.visibility = "hidden"// сделать е невидимым, но оставить