Стандарт W3C HTML включає підтримку сценаріїв(скриптів) на стороні клієнта. Він визначає, яким чином локально виконувані сценарії можуть бути використані на вебсторінці. Конкретні застосунки на стороні клієнта, такі як веббраузер, можуть підтримувати кілька мов сценаріїв, хоча всі популярні браузери підтримують сценарії на JavaScript. Код сценарію може виконуватися під час завантаження документа, або пізніше.
У HTML5 JavaScript сценарії (скрипти) відіграють значну роль при відтворенні аудіо, відео та графічного вмісту (див. нові можливості HTML5).
JavaScript разом із HTML, CSS та DOM були основою для створення концепції DHTML.
У концепції AJAX клієнтські сценарії мають визначне місце.
Сценарії можуть існувати як окремі файли (js-файли), або бути включеними всередину HTML документу.
Безпосередньо в HTML-документі код сценарію можна записати:
- до елементу
<script>
;
- всередину інших елементів до відповідних атрибутів внутрішніх подій.
Розташування сценаріїв
Елементи SCRIPT
Елементи <script>
можуть виконуватися нуль або більше разів у межах елементів «голови»(<head>
) і «тіла»(<body>
). Сценарії всередині елементів сценарію обробляються при завантаженні документа.
Внутрішні події
Події відбуваються для різних елементів вебсторінки:
Код сценарію може бути пов'язаний з подією і елементом шляхом написання коду в HTML атрибуті. Ім'я атрибута має відповідати підтримуваній внутрішній події для елемента (наприклад, «OnLoad»). Сценарій виконується щоразу, коли відбувається подія для цього елемента. Ці сценарії — це в основному JavaScript. Модель подій HTML складається з наступних подій для різних типів елементів:[1]
- Документ
- Форма
- Документ і UI елементи
- UI елементи
- Дії з мишкою
- Рухи
- onMouseOver
- onMouseOut
- onMouseMove
- Кнопки
- onClick
- onDblClick
- onMouseDown
- onMouseUp
- Клавіатура
- onKeyPress
- onKeyDown
- onKeyUp
- Інше (TEXT/TEXTAREA)
- Втрата фокусу із зміною вмісту
- Виділення тексту
Деякі браузери підтримують додаткові атрибути подій (поза стандартом), такі як:
- onResize
- onMove
- onScroll
- onAbort
Сценарії в атрибутах HTML елементів
Netscape Navigator підтримував функцію під назвою «JavaScript об'єкти» або «макроси сценаріїв», за допомогою якого код сценарію міг бути включений у значення атрибутів HTML, використовуючи синтаксис, аналогічний синтаксису позначення символьних сутностей. Наприклад, код <img width="&{prompt('Width?')};" src="foo.jpg">
викликає функцію JavaScript prompt(), щоб запитати у користувача, якої ширини має бути картинка.[2]
Специфікація HTML 4.01[3] резервує синтаксис для «майбутньої підтримки макросів сценаріїв» в HTML атрибутах, але вони не були включені в більш пізні стандарти і не підтримуються жодним поточним[коли?] браузером.
Примітки