JavaScript. Подробное руководство, 6-е издание, стр. 172

<b>      border-radius: 10px; /* Закругленные углы (если поддерживаются) */</b>

<b>    }</b>

<b>  &lt;/style&gt;</b>

<b>&lt;/head&gt;</b>

<b>&lt;body&gt; &lt;!-- Тело - отображаемая часть документа --&gt;</b>

<b>  &lt;h1&gt;Цифровые часы&lt;/h1&gt; &lt;!-- Вывести заголовок --&gt;</b>

<b>  &lt;span id=&quot;clock&quot;&gt;&lt;/span&gt; &lt;!-- Время выводится здесь --&gt;</b>

<b>&lt;/body&gt;</b>

<b>&lt;/html&gt;</b>

13.2.2. Сценарии во внешних файлах

Тег <script> поддерживает атрибут

<b>src</b>
, который определяет URL-адрес файла, содержащего JavaScript-код. Используется он следующим образом:

<b>&lt;script src=&quot;../../scripts/util.js&quot;&gt;&lt;/script&gt;</b>

Файл JavaScript-кода обычно имеет расширение .js и содержит JavaScript-код в «чистом виде» без тегов

<b>&lt;script&gt;</b>
или любого другого HTML-кода.

Тег

<b>&lt;script&gt;</b>
с атрибутом
<b>src</b>
ведет себя точно так, как если бы содержимое указанного файла JavaScript-кода находилось непосредственно между тегами
<b>&lt;script&gt;</b>
и
<b>&lt;/script&gt;.</b>
Обратите внимание, что закрывающий тег
<b>&lt;/script&gt;</b>
обязателен, даже когда указан атрибут
<b>src</b>
и между тегами отсутствует JavaScript-код. В разметке XHTML в подобных случаях можно использовать единственный тег
<b>&lt;script/&gt;.</b>

При использовании атрибута

<b>src</b>
любое содержимое между открывающим и закрывающим тегами
<b>&lt;script&gt;</b>
игнорируется. При желании в качестве содержимого в тег
<b>&lt;script&gt;</b>
можно вставлять описание включаемого программного кода или информацию об авторском праве. Однако следует заметить, что инструменты проверки соответствия разметки требованиям стандарта HTML5 будут выдавать предупреждения, если между тегами
<b>&lt;script src=&quot;&quot;&gt;</b>
и
<b>&lt;/script&gt;</b>
будет находиться какой-либо текст, не являющийся пробельными символами или комментариями на языке JavaScript.

Использование тега с атрибутом

<b>src</b>
дает ряд преимуществ:

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

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

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

• Атрибут

<b>src</b>
принимает в качестве значения произвольный URL-адрес, поэтому JavaScript-программа или веб-страница с одного веб-сервера может воспользоваться кодом (например, из библиотеки подпрограмм), предоставляемым другими веб-серверами. Многие рекламодатели в Интернете используют этот факт.

• Возможность загружать сценарии с других сайтов еще больше увеличивает выгоды, получаемые от кэширования: компания Google продвигает использование стандартных, хорошо известных URL-адресов для часто используемых клиентских библиотек, что позволяет броузерам хранить в кэше единственную копию, совместно используемую многими сайтами в Веб. Привязка сценариев JavaScript к серверам компании Google может существенно уменьшить время запуска веб-страниц, поскольку библиотека наверняка уже будет храниться в кэше броузера пользователя, но при этом вы должны доверять стороннему программному коду, который может оказаться критически важным для вашего сайта. За дополнительной информацией обращайтесь по адресу: http://code.google.com/apis/ajaxlibs/.

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

<b>src</b>
, вы предоставляете автору сценария (или веб-мастеру домена, откуда загружается сценарий) полный контроль над своей веб-страницей.

13.2.3. Тип сценария

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

<b>&lt;script&gt;</b>
содержат или ссылаются на программный код на языке JavaScript. Если у вас появится необходимость использовать нестандартный язык сценариев, такой как VBScript корпорации Microsoft (который поддерживается только в Internet Explorer), необходимо в атрибуте
<b>type</b>
указать MIME-тип сценария:

<b>&lt;script type=&quot;text/vbscript&quot;&gt;</b>

<b>// Здесь располагается VBScript-код &lt;/script&gt;</b>

По умолчанию атрибут

<b>type</b>
получает значение
<b>«text/JavaScript».</b>
При желании можно явно указать это значение, однако в этом нет необходимости.

В старых броузерах вместо атрибута

<b>type</b>
использовался атрибут
<b>language</b>
тегa
<b>&lt;script&gt;</b>
, и вы по-прежнему можете встретить веб-страницы, включающие такие теги: