JavaScript. Подробное руководство, 6-е издание, стр. 171
Спецификация HTML5 (которая на момент написания этих строк еще находилась в состоянии проекта) и ряд связанных с ней спецификаций определяют ряд других важных прикладных интерфейсов для веб-приложений. В их число входят прикладные интерфейсы для сохранения данных и рисования графики, которые описываются в главах 21 и 20, а также множество других возможностей, таких как геопозиционирование (geolocation), управление журналами посещений и фоновые потоки выполнения. Когда все эти прикладные интерфейсы будут реализованы, они обеспечат дальнейшее расширение возможностей веб-приложений. Подробнее о них рассказывается в главе 22.
Безусловно, сценарии на языке JavaScript занимают в веб-приложениях более важное положение, чем в веб-документах. Сценарии на JavaScript расширяют возможности веб-документов, но при правильном оформлении документы остаются полностью доступными даже при отключенной поддержке JavaScript. Вебприложения по определению являются программами на языке JavaScript, использующими механизмы, предоставляемые веб-броузерами, и не будут работать при отключенной поддержке JavaScript. [28]
13.2. Встраивание JavaScript-кода в разметку HTML
Клиентский JavaScript-код может встраиваться в HTML-документы четырьмя способами:
• встроенные сценарии между парой тегов
<b><script></b><b></script>;</b>• из внешнего файла, заданного атрибутом
<b>src</b><b><script>;</b>• в обработчик события, заданный в качестве значения HTML-атрибута, такого
как
<b>onclick</b><b>onmouseover;</b>В следующих далее подразделах описываются все четыре способа встраивания программного кода на языке JavaScript. Следует отметить, что HTML-атрибуты обработчиков событий и адреса URL с псевдопротоколом javascript: редко используются в современной практике программирования на языке JavaScript (они были более распространены на раннем этапе развития Всемирной паутины). Встроенные сценарии (в тегах
<b><script></b><b>src</b><b><script>,</b><b>src.</b>13.2.1. Элемент <script>
Клиентские JavaScript-сценарии могут встраиваться в HTML-файлы между тегами
<b><script></b><b></script>:</b><b><script></b><b> // Здесь располагается JavaScript-код </b><b></script></b>В языке разметки XHTML содержимое тега
<b><script></b><b><</b><b>&</b><b><script><![CDATA[</b><b>// Здесь располагается JavaScript-код </b><b>]]></script></b>В примере 13.2 демонстрируется содержимое HTML-файла, включающего простую программу на языке JavaScript. Действия программы описываются в комментариях, тем не менее замечу, что главная цель этого примера в том, чтобы продемонстрировать, как JavaScript-код встраивается в файлы HTML наряду со всем остальным, в данном случае - со стилями
<b>CSS</b><b>onload</b>Пример 13.2. Простые часы с цифровым табло на JavaScript
<b><! DOCTYPE html> <!-- Это файл HTML5 --> </b><b><html> <!-- Корневой элемент --> </b><b><head> <!-- Заголовок, здесь располагаются сценарии и стили --> </b><b> <title>Digital Clock</title> </b><b> <script> // Сценарий на JavaScript </b><b> // Определение функции для отображения текущего времени</b><b> function displayTime() {</b><b> var elt = document.getElementById("clock"); // Найти элемент c id="clock"</b><b> var now = new Date(); // Получить текущее время</b><b> elt.innerHTML = now.toLocaleTimeString(); // Отобразить его</b><b> setTimeout(displayTime, 1000); // Вызвать снова через 1 сек.</b><b> }</b><b> window.onload = displayTime; // Начать отображение времени после загрузки документа. </b><b> </script></b><b> <style> /* Таблица стилей CSS для часов */</b><b> #clock { /* Стили применяются к элементу с id="clock" */</b><b> font: bold 24pt sans; /* Использовать большой полужирный шрифт */</b><b> background: #ddf; /* Светлый, голубовато-серый фон */</b><b> padding: 10px; /* Отступы вокруг */</b><b> border: solid black 2рх; /* И сплошная черная рамка */</b>