Атрибут charset тега <script> — кодування файлу скрипта
автор: с3с
Загальний опис
автор: NagarD
- Порада
-
Атрибут
автор: с3сcharsetвикористовується тільки для зовнішніх скриптів, які завантажуються з використанням атрибутаsrc. - Нотатка
-
В якості значення вказується кодування зовнішнього ресурсу. Приклади кодувань: ISO-8859-1, ISO-8859-5, SHIFT_JIS, EUC-JP UTF-8 - одна із загальноприйнятих і стандартизованих кодувань тексту, що підтримує безліч різних писемностей. Регістр символів до уваги не береться.
автор: с3с
Синтаксис
<script charset = "charset">
Атрибут charset може отримувати єдине значення:
-
charset -
Задає кодування зовнішнього файлу скрипта.
автор: с3с
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1+ | 1+ | 1+ | 3.5+ | 12+ | 3+ |
| Переглядач | ||||
|---|---|---|---|---|
| 1+ | 1+ | 1+ | 1+ |
Приклади
+ запропонувати свій приклад у пісочниці
Живої частини тут рівно одна: теґ <meta> покладено просто в тіло сторінки, і стилі змушують його показатися — це той самий атрибут charset, по який приходить більшість. Нижче — три випадки підключення скрипта поруч, як їх бачить браузер: зелений працює, жовтий працює лише випадково, червоні два не працюють ніколи.
HTML
<p class="head">Це той charset, який шукають найчастіше</p>
<meta charset="utf-8">
<p class="head">А це charset у script — і його доля</p>
<div class="karta good">
<p class="verdykt">Так треба: файл у UTF-8, сервер віддає charset=utf-8</p>
<pre>Content-Type: application/javascript; charset=utf-8
<script src="/app.js"></script></pre>
</div>
<div class="karta warn">
<p class="verdykt">Так ще працює, але тримається на чесному слові</p>
<pre>Content-Type: application/javascript
<script src="/old.js" charset="windows-1251"></script></pre>
</div>
<div class="karta bad">
<p class="verdykt">Так не працює: заголовок сервера сильніший за атрибут</p>
<pre>Content-Type: application/javascript; charset=utf-8
<script src="/old.js" charset="windows-1251"></script></pre>
</div>
<div class="karta bad">
<p class="verdykt">І так не працює: модуль завжди читається як UTF-8</p>
<pre><script type="module" src="/old.js" charset="windows-1251"></script></pre>
</div>
CSS
.head {
margin: 20px 0 8px;
color: #5a6472;
font: 600 14px/1.4 system-ui, sans-serif;
text-transform: uppercase;
letter-spacing: .04em;
}
meta {
display: block;
max-width: 560px;
padding: 6px 10px;
border: 2px solid #2f6fd0;
border-radius: 4px;
background: #eef3fb;
color: #1b4f9c;
font: 15px/1.5 ui-monospace, monospace;
}
meta[charset]::after {
content: "<meta charset=\"" attr(charset) "\"> — кодування СТОРІНКИ";
}
.karta {
max-width: 560px;
margin-bottom: 12px;
padding: 8px 12px;
border-radius: 6px;
border: 2px solid #b9c6d8;
}
.verdykt {
margin: 0 0 6px;
font-weight: 600;
}
pre {
margin: 0;
overflow-x: auto;
font: 13px/1.6 ui-monospace, monospace;
}
.good {
border-color: #3a9a4f;
background: #f3fbf4;
color: #1b5e20;
}
.warn {
border-color: #e0a800;
background: #fff8e6;
color: #8a6100;
}
.bad {
border-color: #d64545;
background: #fff4f4;
color: #c0392b;
}
Найпростіший приклад використання атрибуту <charset> тегу <script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>charset</title>
<script src="scripts/async.js" charset="utf-8"></script>
<body>
Різниця між HTML 4.01 та HTML5
Відмінностей HTML 4.01 від HTML 5 немає
Коментарі
Коментарів ще немає — будьте першим!