HTML тег <script>
Поддержка браузерами
Описание
HTML тег <script> используется для добавления JavaScript-кода непосредственно в HTML-документ.
Есть два способа добавления JavaScript-кода с помощью элемента <script>:
- JavaScript-код можно расположить непосредственно внутри элемента
<script>. - Подключить внешний файл с JavaScript-кодом.
Сценарий, расположенный непосредственно внутри элемента <script>, называют встроенным. Сценарий, расположенный внутри внешнего файла, называют внешним.
Обратите внимание, что, при написании встроенного JavaScript-кода, использовать строку "<script>" в своём коде нельзя, так как она будет интерпретироваться браузером как закрывающий тег. Чтобы решить эту проблему, экранируйте символ /: "<\/script>".
Подключение внешнего файла выполняется с помощью атрибута src. Внешним файлам, содержащим JavaScript-код, дают расширение .js:
<script src="myJs.js"></script>
Сам внешний файл должен содержать только JavaScript-код (без тегов <script> и </script>).
Если подключается внешний сценарий, то внутри того же самого элемента <script> нельзя одновременно располагать встроенный сценарий.
Элемент <script> может располагаться в любом месте внутри элемента <head> и/или <body> и использоваться любое количество раз.
Независимо от того, как JavaScript-код добавляется на страницу, элементы <script> обрабатываются в том порядке, в котором они расположены в HTML-коде, при условии, что у них нет атрибутов defer и async. Код первого элемента <script> должен быть полностью интерпретирован, чтобы можно было приступить ко второму элементу <script>, второй элемент должен быть полностью обработан перед третьим, и т. д.
Атрибуты
- async:
- Указывает, что нужно немедленно начать загрузку сценария с сервера и сразу же после его загрузки перейти к выполнению сценария (одновременно с загрузкой остального содержимого страницы). Если с атрибутом
asyncопределено несколько элементов<script>, то первым начнёт выполняться тот сценарий, который раньше загрузится. Действителен только для внешних сценариев.
Возможные значения логического атрибутаasync:<script async> <script async="async"> <script async="">
Примечание: атрибут
asyncне поддерживается в IE9 и более ранних версиях. - defer:
- Указывает, что сценарий будет загружен немедленно, но его выполнение можно безопасно отложить до тех пор, пока не будет загружено остальное содержимое страницы. Если с атрибутом
deferопределено несколько элементов<script>, то сценарии будут выполняться в том порядке, в котором они расположены в HTML-коде, то есть первым выполнится тот сценарий, который расположен в коде раньше. Действителен только для внешних сценариев.
Возможные значения логического атрибутаdefer:<script defer> <script defer="defer"> <script defer="">
- type:
- Идентифицирует скриптовый язык, используемый в коде встроенного или внешнего сценария. Поддерживаемые значения MIME-типа:
text/javascripttext/ecmascriptapplication/ecmascriptapplication/javascripttext/vbscript
typeможно опустить (при отсутствии данного атрибута по умолчанию используется значениеtext/javascript). - charset:
- Указывает кодировку символов, используемую во внешнем файле со сценарием. Атрибут
charsetиспользуется только в том случае, если кодировка во внешнем файле со сценарием отличается от кодировки в html-документе. - src:
- Указывает URL-адрес внешнего файла со сценарием.
Стиль по умолчанию
script {
display: none;
}
Пример
<script type="text/javascript">
document.write("Hello World!");
</script>
Результат данного примера в окне браузера: