Атрибут integrity содержит хэш файла, расположенного на стороннем сервере. Такой хэш нужен для проверки того, что это тот самый запрашиваемый, а не какой-нибудь поддельный файл.
Для проверки целостности файла сперва делается его хэш, например, с помощью ресурса srihash.org. В строке пишется адрес файла и выбирается алгоритм хэширования (к примеру, SHA-256), как это показано на рис. 1.
Рис. 1. Генератор хэша
Браузер загружает файл скрипта, указанный в атрибуте src элемента <script>, создаёт хэш файла и сравнивает полученное значение со значением атрибута integrity. Если хэши различаются, то исполнение скрипта блокируется в целях безопасности.
Синтаксис
<script src="<адрес>" integrity="<хэш файла>"></script>>
Значения
В качестве значения указывается хэш файла в следующем формате:
<алгоритм>-<хэш>
Название алгоритма пишется слитно без дефисов, к примеру, для алгоритма SHA-256 указываем sha256.
Значение по умолчанию
Нет.
Пример
<!DOCTYPE html>
<html lang="ru">
<head>
<title>integrity</title>
<meta charset="utf-8">
</head>
<body>
<h2><span class="text"></span></h2>
<script
src="https://unpkg.com/typed.js@2.1.0/dist/typed.umd.js"
integrity="sha256-WEJEZ6uz+kswKoDHEI/iDKgyjk7LQnXPGgTbP6X4Pyc="
crossorigin="anonymous"></script>
<script>
var typed = new Typed('.text', {
strings: ['Библиотека typed.js','Имитирует набор текста на клавиатуре'],
cursorChar: '_',
typeSpeed: 100,
loop: true
});
</script>
</body>
</html>
Браузеры
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.