Книга: JavaScript. Подробное руководство, 6-е издание
13.2.2. Сценарии во внешних файлах
13.2.2. Сценарии во внешних файлах
Тег <script> поддерживает атрибут src
, который определяет URL-адрес файла, содержащего JavaScript-код. Используется он следующим образом:
<script src="../../scripts/util.js"></script>
Файл JavaScript-кода обычно имеет расширение .js и содержит JavaScript-код в «чистом виде» без тегов <script>
или любого другого HTML-кода.
Тег <script>
с атрибутом src
ведет себя точно так, как если бы содержимое указанного файла JavaScript-кода находилось непосредственно между тегами <script>
и </script>.
Обратите внимание, что закрывающий тег </script>
обязателен, даже когда указан атрибут src
и между тегами отсутствует JavaScript-код. В разметке XHTML в подобных случаях можно использовать единственный тег <script/>.
При использовании атрибута src
любое содержимое между открывающим и закрывающим тегами <script>
игнорируется. При желании в качестве содержимого в тег <script>
можно вставлять описание включаемого программного кода или информацию об авторском праве. Однако следует заметить, что инструменты проверки соответствия разметки требованиям стандарта HTML5 будут выдавать предупреждения, если между тегами <script src="">
и </script>
будет находиться какой-либо текст, не являющийся пробельными символами или комментариями на языке JavaScript.
Использование тега с атрибутом src
дает ряд преимуществ:
• HTML-файлы становятся проще, т. к. из них можно убрать большие блоки JavaScript-кода, что помогает отделить содержимое от поведения.
• JavaScript-функцию или другой JavaScript-код, используемый несколькими HTML-файлами, можно держать в одном файле и считывать при необходимости. Это уменьшает объем занимаемой дисковой памятй и намного облегчает поддержку программного кода, т. к. отпадает необходимость править каждый HTML-файл при изменении кода.
• Если сценарий на языке JavaScript используется сразу несколькими страницами, он будет загружаться броузером только один раз, при первом его использовании - последующие страницы будут извлекать его из кэша броузера.
• Атрибут src
принимает в качестве значения произвольный URL-адрес, поэтому JavaScript-программа или веб-страница с одного веб-сервера может воспользоваться кодом (например, из библиотеки подпрограмм), предоставляемым другими веб-серверами. Многие рекламодатели в Интернете используют этот факт.
• Возможность загружать сценарии с других сайтов еще больше увеличивает выгоды, получаемые от кэширования: компания Google продвигает использование стандартных, хорошо известных URL-адресов для часто используемых клиентских библиотек, что позволяет броузерам хранить в кэше единственную копию, совместно используемую многими сайтами в Веб. Привязка сценариев JavaScript к серверам компании Google может существенно уменьшить время запуска веб-страниц, поскольку библиотека наверняка уже будет храниться в кэше броузера пользователя, но при этом вы должны доверять стороннему программному коду, который может оказаться критически важным для вашего сайта. За дополнительной информацией обращайтесь по адресу: http://code.google.com/apis/ajaxlibs/.
Возможность загрузки сценариев со сторонних серверов, отличных от тех, где находятся документы, использующие эти сценарии, влечет за собой важное следствие, имеющее отношение к обеспечению безопасности. Политика общего происхождения, описываемая в разделе 13.6.2, предотвращает возможность взаимодействия сценария на JavaScript в документе из одного домена с содержимым из другого домена. Однако следует отметить, что источник получения самого сценария не имеет значения, значение имеет источник получения документа, в который встраивается сценарий. Таким образом, политика общего происхождения в данном случае неприменима: JavaScript-код может взаимодействовать с документами, в которые он встраивается, даже если этот код получен из другого источника, нежели сам документ. Включая сценарий в свою веб-страницу с помощью атрибута src
, вы предоставляете автору сценария (или веб-мастеру домена, откуда загружается сценарий) полный контроль над своей веб-страницей.
- Подключение внешних файлов
- 1.3. Правила подключения к компьютеру внешних устройств
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- 13. Зарабатываем на своих файлах: файлообменники, загружаеми получаем процент за скачивание
- Какие программы могут изменять битрейт в МР3-файлах, например с 256 Кбит
- 8.4.5. Выполнение внешних команд
- Как работают сценарии. События
- Скрипты продаж. Готовые сценарии «холодных» звонков и личных встреч
- Ошибка пятая: не держитесь за каждую строчку в своем сценарии
- Убедительные сценарии
- 19.2.3.5. Проверяйте орфографию в документации и README-файлах перед выпуском версии
- 5.4. Получение информации о файлах