Расположение внутри страницы
Для добавления JavaScript-кода на страницу, можно использовать теги <script></script>, которые рекомендуется, но не обязательно, помещать внутри контейнера <head>. Контейнеров <script> в одном документе может быть сколько угодно. Атрибут «type='text/javascript'» указывать необязательно, данное значение используется по умолчанию.
Скрипт, выводящий модальное окно с классической надписью «Hello, World!» внутрибраузера:
<scripttype="application/javascript">alert('Hello, World!');</script>Расположение внутри тега
Спецификация HTML описывает набор атрибутов, используемых для задания обработчиков событий. Пример использования:
<ahref="delete.php"onclick="return confirm('Выуверены?');">Удалить</a>В приведённом примере при нажатии на ссылку функция confirm('Вы уверены?'); вызывает модальное окно с надписью «Вы уверены?», а returnfalse; блокирует переход по ссылке. Разумеется, этот код будет работать только если в браузере есть и включена поддержка JavaScript, иначе переход по ссылке произойдёт без предупреждения.
|
|
Использование кода JavaScript в контексте разметки страницы расценивается в рамках ненавязчивого JavaScript как плохая практика. Аналогом (при условии снабжения ссылки идентификатором alertLink)
<ahref="delete.php"id="alertLink"> Удалить</a>приведённого примера может являться, например, следующий фрагмент JavaScript:
window.onload=function(){varlinkWithAlert=document.getElementById("alertLink");linkWithAlert.onclick=function(){returnconfirm('Выуверены?');};};Вынесение в отдельный файл
Есть и третья возможность подключения JavaScript — написать скрипт в отдельном файле, а потом подключить его с помощью конструкции
<head><scripttype="application/javascript"src="http://Путь_к_файлу_со_скриптом"></script></head>Атрибуты элемента script
Элемент script, широко используемый для подключения к странице JavaScript, имеет несколько атрибутов.
- Необязательныйатрибут type для указания MIME-типа содержимого.
- необязательный атрибут src, принимающий в качестве значения адрес к файлу со скриптом.
- необязательный атрибут charset, используемый вместе с src для указания используемой кодировки внешнего файла.
- необязательный атрибут defer указывает, что получение скрипта происходит асинхронно, но выполнение следует отложить до тех пор, пока страница не будет загружена целиком.
- необязательный атрибут async указывает, что получение скрипта происходит асинхронно, а выполнение будет произведено сразу по завершению скачивания. Очерёдность выполнения скриптов не гарантируется.
При этом атрибут language (language="JavaScript"), несмотря на его активное использование (в 2008 году этот атрибут был наиболее часто используемым у тега <script>), относится к не рекомендуемым (deprecated), отсутствует в DTD, поэтому считается некорректным.
|
|
Область применения
Веб-приложения
Основная статья: Веб-приложение
JavaScript используется в клиентской части веб-приложений: клиент-серверных программ, в котором клиентом является браузер, а сервером — веб-сервер, имеющих распределённую между сервером и клиентом логику. Обмен информацией в веб-приложениях происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения являются кроссплатформенными сервисами.
AJAX
Основная статья: AJAX
JavaScript используется в AJAX, популярном подходе к построению интерактивных пользовательских интерфейсов веб-приложений, заключающемся в «фоновом» асинхронном обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью и интерфейс веб-приложения становится быстрее, чем это происходит при традиционном подходе (без применения AJAX).
Comet
Основная статья: Comet (программирование)
Comet — широкое понятие, описывающее механизм работы веб-приложений, использующих постоянные HTTP-соединения, что позволяет веб-серверу отправлять данные браузеру без дополнительного запроса со стороны браузера. Для таких приложений используются технологии, непосредственно поддерживаемые браузерами. В частности, в них широко используется JavaScript.