Подключение JavaScript к HTML. Подключение скрипта JavaScript

Возможно, вам не терпится, и хочется поскорее, окунуться в мир программирование, приступить к написанию своих сценариев и поразить всех своей магией. Но без фундаментальных понятий как это все работает, будет сложно уловить саму суть.

Да, вы сможете редактировать код, находить ошибки, работать со сторонними скриптами, но написать что-то свое, будет намного сложнее без базовых знаний.

По этому, моя цель не просто показать вам примеры написание программ, а пойти дальше, научить вас мыслить как программист, что даст, без граничные возможности, которые откроет JavaScript. Поэтому обучение начинаем с самого начала, с простых понятий, обозначений, и представления как этот механизм работает в целом.

– это настоящий язык программирования. Он работает не так как HTM или CSS и имеет свой собственный синтаксис. Кто только начинает программировать, возможно, будет трудно переключиться и начать думать как программист.

Каждый язык программирования имеет собственный набор ключевых слов, символов, а также уникальный набор правил их сочетание и синтаксис языка.


В процессе обучения вы будите допускать много ошибок, пропускать знаки препинания, которые в свою очередь приводить к не работающей программе. Мы с вами научимся в процессе уроков инициализировать в браузере ошибки, познакомитесь с новыми символами { }, , ; , (), !, узнаете обозначение новых слов (var , null , else if ), разберем правила пунктуации и синтаксис самого языка.

К тому же, в данных уроках познакомимся не только с , но и с jQuery – самой популярной его библиотекой, которая поможет Вам создавать сложные интерактивные элементы веб-дизайна.

Что такое программа

Когда вы добавляете код JavaScript на веб-страницу, тем самым вы пишите компьютерную программу. Конечно, она проще тех, с которыми вам приходится работать, через что читаете почту, обрабатываете фотографии, но в принципе они все схожи.

Основа процесса программирования разделяется на несколько этапов: определяете, что хотите сделать, затем разбиваете задачу на этапы, прохождение каждого из которых необходимо для выполнения конечного результата.

Создавая программу на языке JavaScript, вы должны определить шаги, необходимые для достижения цели. Как только вы поймете, что хотите реализовать и разобьете шаги на этапы, вы будете готовы к написанию программы. Другими словами, вы превращаете собственные мысли в программный код – слова и символы, заставляют браузер действовать, так как вам угодно.

Добавление JavaScript на страницу

Браузеры понимают HTML и CSS и превращают эти языки в визуальную информацию на экране. Функционал браузера понимающий HTML и CSS, называется браузерным движком. Большинство браузеров обладают компонентом под названием интерпретатор JavaScript . Это тот функционал, при помощи которого он понимает язык JS и способен выполнять шаги написанного программного кода.

Для того что бы сообщить браузеру, когда появляется JavaScript, используется элемент script .

Тег - это команда языка HTML, она работает в качестве переключателя, сообщая браузеру где начинается JavaScript. Когда браузер доходит до конца закрывающего тега , то он знает что достиг конца программы и может возвращаться к исполнению своих обычных функций.


Довольно часто можно встреть добавление элемента script в заглавную часть веб-страницы – раздел head следующим образом:

Уроки по JavaScript

В данном примере открывающий HTML тег комментария , непосредственно перед тегом завершающим код нашего сценария.

Двойной прямой слэш // - это уже комментарий JavaScript, он показывает что вся строка, идущая после него - это комментарий с точки зрения JavaScript. Подробнее про комментарии JavaScript читайте тут.

Перед тем как использовать JavaScript, его необходимо добавить в HTML документ . Сделать это можно с помощью элемента двумя способами:

  • Определить встроенный сценарий, который располагается непосредственно между парой тегов и
  • Подключить внешний файл с JavaScript-кодом
  • Примечание: элемент может быть расположен в любом месте внутри элемента и/или внутри элемента и использоваться любое количество раз.

    Встроенный сценарий

    JavaScript код можно вставить непосредственно внутри элемента . Сценарий, расположенный непосредственно внутри элемента, называется встроенным .

    Название документа // JavaScript-код // JavaScript-код

    Внешний сценарий

    В HTML документ можно также добавить JavaScript код, расположенный во внешнем файле. Сценарий, расположенный внутри внешнего файла, называется внешним . Подключение внешнего файла выполняется с помощью атрибута src тега следующим образом:

    • Создадим папку и назовём её к примеру example , внутри этой папки создаём текстовый файл с расширением.js , например myscript.js (имя файла может быть любым), открываем его и добавляем строку JavaScript-кода:
    alert("Добро пожаловать!");

    Примечание: если вы не знаете как менять расширение у файлов, то можете прочитать об этом в разделе: смена расширения файла .

    Обратите внимание, что внутри внешнего файла JavaScript-код не нужно располагать между тегами и . Сохраняем изменения в файле и закрываем его.

    • Теперь создадим ещё один файл и назовём его myscript2.js , открываем его и добавляем следующую строку JavaScript кода:
    document.write("Это моя домашняя страница");

    Сохраняем изменения в файле и закрываем его.

    • И последнее, что нам осталось сделать, это создать HTML-документ, к которому будут подключены наши созданные два файла с внешними сценариями. В той же папке, где хранятся наши два сценария (example), создаём HTML-документ и называем его к примеру test.html . Теперь c помощью элемента подключаем два внешних файла c JavaScript-кодом:
    Название документа

    Вот и всё! Сохраняем изменения в HTML-документе, открываем его в браузере и смотрим результат. У вас должно получиться нечто подобное:



    Будьте внимательны, так как мы указали с помощью тега кодировку utf-8 в HTML-документе, кодировка самих файлов (test.html, myscript.js и myscript2.js) также должна быть utf-8 .

    Примечание: если подключается внешний сценарий, то внутри того же самого элемента нельзя одновременно располагать встроенный сценарий.

    Сравнение внешних и встроенных сценариев

    Использование внешних сценариев даёт ряд преимуществ перед встроенными:

    • HTML-документы становятся проще для редактирования, так как из них можно убрать большие блоки JavaScript-кода и отделить структуру от поведения страницы.
    • Если один и тот же JavaScript-код, используется в нескольких HTML-документах, его лучше подключать в качестве внешнего сценария. Это намного облегчает поддержку и редактирование кода, так как при внесении изменений отпадает необходимость редактировать каждый HTML-документ в отдельности.
    • Внешний сценарий загружается браузером всего один раз, при первом посещении страницы. Переходя на другие страницы, использующие тот же сценарий, он будет извлекаться из кэша браузера, что в свою очередь ускорит загрузку и обработку содержимого страницы.

    Примечание: располагать сценарий (как внешний так и встроенный) лучше всего в конце HTML-документа, перед закрывающим тегом . Такое расположение сценария позволяет браузеру загружать страницу быстрее, так как сначала загрузится контент страницы, а потом будет загружаться код сценария.

    Инструкция

    Подключите к документу скрипт из внешнего источника, адресуемого известным URI. Используйте HTML-элемент с заданным значением атрибута src. Отредактируйте документ, добавив в него конструкцию вида:

    Здесь в качестве значения URI_скрипта должен быть указан URI, идентифицирующий ресурс, из которого будут загружены данные сценария.
    В качестве значения атрибута charset следует указать кодировку символов скрипта, если она отличается от кодировки символов документа. Кодировка документа определяется на основании данных поля Content-Type заголовка HTTP-ответа сервера или значения атрибута content элемента META с атрибутом http-equiv, установленным в Content-Type.
    Подключение скриптов подобным способом зачастую производится в заголовке документа (элементы SCRIPT располагаются внутри элемента HEAD) и немедленное их выполнение не требуется. В этом случае имеет смысл использовать атрибут defer для отложенной интерпретации текста сценария.

    Подключите скрипт, внедрив его непосредственно в документ. Добавьте в разметку документа элемент SCRIPT, имеющий содержимое, представляющее собой JavaScript-код. Используйте конструкцию вида:

    // текст кода сценария

    // текст кода сценария

    // текст кода сценария

    Обратите внимание на HTML-комментарии, обрамляющие код скрипта. Они необходимы для обеспечения совместимости со старыми моделями браузеров.

    Подключите скрипт при помощи указания "javascript:" в качестве дескриптора протокола URI целевого якоря элемента A. Создайте в документе ссылку, со значением атрибута href вида:

    javascript:

    Здесь в качестве значения следует записать вычисляемое выражение на языке сценариев JavaScript. При этом несколько предложений языка можно объединить в одно выражение при помощи операторных скобок, например:

    text

    Добавьте скрипты в документ в качестве кода встроенных обработчиков событий элементов. Для этого определите встроенные обработчики нужных событий выбранных элементов при помощи добавления этим элементам соответствующих атрибутов. В качестве значений атрибутов введите фрагменты JavaScript-кода. Например, добавить код в качестве обработчика события одинарного щелчка мышью по элементу DIV, можно следующим образом:

    Содержимое элемента

    С перечнем событий элементов, которые должны поддерживаться конформными пользовательскими агентами, можно ознакомиться в разделах Events спецификаций объектных моделей документов уровней 2 и 3 (DOM2 и DOM3) на сайте консорциума W3C w3c.org.

    Возможности HTML/CSS позволяют создавать красивые и динамичные страницы. помогает разработчику назначать элементам страницы функциональность, обрабатывать события, организовывать диалог с посетителем и обеспечивать обмен данными с сервером.

    HTML-страницы и CMS

    Современное интернет-программирование все чаще использует системы управления контентом (Content Management System - CMS). В этом случае подключение каких-либо файлов решается автоматически.

    В этом примере все кнопки, добавленные на страницу сайта, могут быть оснащены дополнительной функциональностью, как через событие onclick, так и путем подключения дополнительного файла скриптов.

    Подключение шаблонов и фреймворков (например, jQuery) делается автоматически. JavaScript - это неотъемлемая составляющая браузера. Любая CMS это учитывает и использует максимально эффективно. Как правило, CMS в полной мере использует механизм AJAX, наиболее прогрессивные инструменты JS, но оставляет разработчику возможность корректировать и уточнять функционал страницы в браузере, особенно контролировать обработку событий.

    Традиционное подключение JavaScript к HTML

    Вариантов не так много. Можно вставить JS код тегом script в саму страницу (3) или подключить как внешний файл (1). У каждого варианта свои плюсы. Обычно разработчики используют оба варианта одновременно.

    JavaScript - это события, DOM и полное управление всеми элементами страницы. Вариант 2 - это непосредственное подключение к телу страницы, которое срабатывает, когда страница будет полностью загружена.

    Внешние файлы и серверное управление

    Формирование HTML-документа при разработке на базе CMS и при ручном создании веб-ресурса программируется. Обработка событий, создание элементов страницы и внешних файлов может производиться так, как это удобно в каждом конкретном случае, в реальном масштабе времени.

    PHP интерпретатор, формируя страницу, может создавать код страницы, JavaScript-файлы, рисунки, компоновать структуру файлов и папок. Через области видимости переменных и данных разработчик может переключать функционал.

    Обычно HTML-документ обеспечивает несколько вариантов работы с посетителем. Например, в зависимости от региона, пола, возраста и пр. могут подключаться те или иные возможности сайта, которые удобно и целесообразно иметь на одной странице.

    В этом примере то, как подключить JavaScript к HTML-элементам страницы, показано на примере событий мышки. Такой вариант использования возможностей JS бывает необходим, когда функциональность элемента нужно менять в процессе работы страницы.

    Функциональность элементов страницы

    JavaScript ориентирован на обслуживание событий на элементах страницы и дерева объектов DOM (Document Object Model). С такой точки зрения вопрос "Как подключить JavaScript к HTML-элементам?" решается изначально.

    Например, все поля формы для ввода данных могут сразу получить JS-обработчики для валидации (проверки) данных на корректность. Дата должна быть датой, число - числом, а строка символов должна содержать только корректные символы.

    Контроль ввода данных - важный функционал, и нет никакого смысла решать его в реальном времени и подключать обработчик JS в процессе нахождения посетителя на странице. Целесообразно заранее предусмотреть форму по структуре, содержанию и функциональности проверки. Задачу, как подключить JavaScript к HTML-элементам формы, можно решить сразу.

    Иная ситуация будет на элементах при решении задачи передачи данных посредством механизмов Drag and Drop. В большинстве случаев придется динамично менять обработчики. Захват элемента для перемещения - это одно событие, собственно перемещение через границы других элементов - другое событие.

    Вопрос как подключить JavaScript к HTML-элементам страницы, которые «встречаются по дороге», может быть не только динамичным, но и непредсказуемым.

    Динамика и обработка событий

    Особенность JavaScript - изначально распределенные алгоритмы и события, которые могут сработать в самом непредсказуемом варианте. Программа (скрипт) на JS это далеко не программа на C/C++, PHP или Perl. Обычные языки программирования допускают события, динамику типов данных, параллельные вычисления, но оригинальность JS и его тесная связь с DOM привносит специфику в программирование на этом языке и, что очень важно, правильное размещение кода.

    Все скрипты JS сливаются в единое пространство, но правильное размещение переменных, функций, обработчиков событий и последовательности выполнения операций имеет существенное значение.

    Использование серверного языка PHP внутри JavaScript кода удобнее делать, когда это код непосредственно вставлен в HTML-документ. Не принято размещать PHP-код внутри внешнего файла *.js, хотя воображение современного разработчика мало чем ограничено, если он работает без той или иной системы управления сайтом.

    Важно иметь в виду: JavaScript - это изначально распределенные алгоритмы и события. Серверные языки - это последовательности операций, алгоритмы действий, которые выполняются до того момента, как страница попадает в браузер. Ответ на вопрос "Как подключить JavaScript к HTML-документу?" будет зависеть не только от логики алгоритма, но и времени решения.