- Подключение JavaScript к HTML
- Первая программа
- JavaScript в элементе script
- JavaScript в атрибутах событий HTML-элементов
- Внешний JavaScript
- Подключение JavaScript к HTML
- Встроенный сценарий
- Внешний сценарий
- Это моя домашняя страница
- Сравнение внешних и встроенных сценариев
- Use JavaScript within a webpage
- About JavaScript
- How to trigger JavaScript from HTML
- Linking an external script
- Writing JavaScript within HTML
- Use scripting accessibly
- Learn more
- Found a content problem with this page?
Подключение JavaScript к HTML
Осваивайте профессию, начните зарабатывать, а платите через год!
Курсы Python Акция! Бесплатно!
Станьте хакером на Python за 3 дня
Веб-вёрстка. CSS, HTML и JavaScript
Станьте веб-разработчиком с нуля
В этой главе мы займемся размещением сценариев в HTML-документе, чтобы иметь возможность использовать их для оперативной модификации HTML-документа. Для вставки JavaScript-кoдa в НТМL-страницу обычно используют элемент .
Первая программа
Чтобы ваша первая пpoгpaммa (или сценарий) JavaScript запустилась, ее нужно внедрить в НТМL-документ.
Сценарии внедряются в HTML-документ различными стандартными способами:
- поместить код непосредственно в атрибут события HTML-элемента;
- поместить код между открывающим и закрывающим тегами ;
- поместить все ваши скрипты во внешний файл (с расширением .js), а затем связать его с документом HTML.
JavaScript в элементе script
Самый простой способ внедрения JavaScript в HTML-документ – использование тега . Теги часто помещают в элемент , и ранее этот способ считался чуть ли не обязательным. Однако в наши дни теги используются как в элементе , так и в теле веб-страниц.
Таким образом, на одной веб-странице могут располагаться сразу несколько сценариев. В какой последовательности браузер будет выполнять эти сценарии? Как правило, выполнение сценариев браузерами происходит по мере их загрузки. Браузер читает HTML-документ сверху вниз и, когда он встречает тег , рассматривает текст программы как сценарий и выполняет его. Остальной контент страницы не загружается и не отображается, пока не будет выполнен весь код в элементе .
Обратите внимание: мы указали атрибут language тега , указывающий язык программирования, на котором написан сценарий. Значение атрибута language по умолчанию – JavaScript, поэтому, если вы используете скрипты на языке JavaScript, то вы можете не указывать атрибут language .
JavaScript в атрибутах событий HTML-элементов
Вышеприведенный сценарий был выполнен при открытии страницы и вывел строку: «Привет, мир!». Однако не всегда нужно, чтобы выполнение сценария начиналось сразу при открытии страницы. Чаще всего требуется, чтобы программа запускалась при определенном событии, например при нажатии какой-то кнопки.
В следующем примере функция JavaScript помещается в раздел HTML-документа. Вот пример HTML-элемента с атрибутом события, обеспечивающим реакцию на щелчки мышью. При нажатии кнопки генерируется событие onclick.
Внешний JavaScript
Если JavaScript-кода много – его выносят в отдельный файл, который, как правило, имеет расширение .js .
Чтобы включить в HTML-документ JavaScript-кoд из внешнего файла, нужно использовать атрибут src (source) тега . Его значением должен быть URL-aдpec файла, в котором содержится JS-код:
В этом примере указан абсолютный путь к файлу с именем script.js, содержащему скрипт (из корня сайта). Сам файл должен содержать только JavaScript-кoд, который иначе располагался бы между тегами .
По аналогии с элементом атрибуту src элемента можно назначить полный URL-aдpec, не относящийся к домену текущей НТМL-страницы:
На заметку: Подробнее о путях файлов читайте в разделе «Абсолютные и относительные ссылки».
Чтобы подключить несколько скриптов, используйте несколько тегов:
Примечание: Элемент , хотя внешний сценарий выполняется, встроенный код игнорируется.
Независимо от того, как JS-код включается в НТМL-документ, элементы интерпретируются браузером в том порядке, в котором они расположены в HTML-документе. Сначала интерпретируется код первого элемента , затем браузер приступает ко второму элементу и т. д.
Внешние скрипты практичны, когда один и тот же код используется во многих разных веб-страницах. Браузер скачает js-файл один раз и в дальнейшем будет брать его из своего кеша, благодаря чему один и тот же скрипт, содержащий, к примеру, библиотеку функций, может использоваться на разных страницах без полной перезагрузки с сервера. Кроме этого, благодаря внешним скриптам, упрощается сопровождение кода, поскольку вносить изменения или исправлять ошибки приходится только в одном месте.
Примечание: Во внешние файлы копируется только JavaScript-код без указания открывающего и закрывающего тегов .
Расположение тегов
Вы уже знаете, что браузер читает HTML-документ сверху вниз и, начинает отображать страницу, показывая часть документа до тега . Встретив тег , переключается в JavaScript-режим и выполняет сценарий. Закончив выполнение, возвращается обратно в HTML-режим и отображает оставшуюся часть документа.
Это наглядно демонстрирует следующий пример. Метод alert() выводит на экран модальное окно с сообщением и приостанавливает выполнение скрипта, пока пользователь не нажмёт «ОК»:
Подключение JavaScript к HTML
Перед тем как использовать JavaScript, его необходимо добавить в HTML документ. Сделать это можно с помощью элемента двумя способами:
- Определить встроенный сценарий, который располагается непосредственно между парой тегов
- Подключить внешний файл с JavaScript-кодом
Примечание: элемент может быть расположен в любом месте внутри элемента и/или внутри элемента и использоваться любое количество раз.
Встроенный сценарий
Внешний сценарий
В HTML документ можно также добавить JavaScript код, расположенный во внешнем файле. Сценарий, расположенный внутри внешнего файла, называется внешним . Подключение внешнего файла выполняется с помощью атрибута src тега следующим образом:
- Создадим папку и назовём её к примеру example , внутри этой папки создаём текстовый файл с расширением .js , например myscript.js (имя файла может быть любым), открываем его и добавляем строку JavaScript-кода:
Примечание: если вы не знаете как менять расширение у файлов, то можете прочитать об этом в разделе: смена расширения файла.
Обратите внимание, что внутри внешнего файла JavaScript-код не нужно располагать между тегами . Сохраняем изменения в файле и закрываем его.
- Теперь создадим ещё один файл и назовём его myscript2.js , открываем его и добавляем следующую строку JavaScript кода:
document.write("Это моя домашняя страница
");
Сохраняем изменения в файле и закрываем его.
- И последнее, что нам осталось сделать, это создать HTML-документ, к которому будут подключены наши созданные два файла с внешними сценариями. В той же папке, где хранятся наши два сценария (example), создаём HTML-документ и называем его к примеру test.html . Теперь c помощью элемента подключаем два внешних файла c JavaScript-кодом:
Вот и всё! Сохраняем изменения в HTML-документе, открываем его в браузере и смотрим результат. У вас должно получиться нечто подобное:
Примечание: если подключается внешний сценарий, то внутри того же самого элемента нельзя одновременно располагать встроенный сценарий.
Сравнение внешних и встроенных сценариев
Использование внешних сценариев даёт ряд преимуществ перед встроенными:
- HTML-документы становятся проще для редактирования, так как из них можно убрать большие блоки JavaScript-кода и отделить структуру от поведения страницы.
- Если один и тот же JavaScript-код, используется в нескольких HTML-документах, его лучше подключать в качестве внешнего сценария. Это намного облегчает поддержку и редактирование кода, так как при внесении изменений отпадает необходимость редактировать каждый HTML-документ в отдельности.
- Внешний сценарий загружается браузером всего один раз, при первом посещении страницы. Переходя на другие страницы, использующие тот же сценарий, он будет извлекаться из кэша браузера, что в свою очередь ускорит загрузку и обработку содержимого страницы.
Примечание: располагать сценарий (как внешний так и встроенный) лучше всего в конце HTML-документа, перед закрывающим тегом