Атрибут crossorigin тега <script>
Описание
Атрибут crossorigin указывает, должен ли скрипт загружаться с использованием CORS (Cross-Origin Resource Sharing). Это необходимо для правильной обработки ошибок и передачи учетных данных при загрузке скриптов с других доменов.
<script src="https://cdn.example.com/library.js" crossorigin="anonymous"></script>
Значения атрибута:
| Значение | Описание | Когда использовать |
|---|---|---|
anonymous |
Запрос без учетных данных | Для публичных CDN-ресурсов |
use-credentials |
Запрос с учетными данными | Для авторизованных ресурсов |
Особенности работы:
- Без атрибута браузер не передает детали ошибок скриптов с других доменов
- Позволяет получать полную информацию об ошибках в window.onerror
- Требует правильной настройки CORS на сервере
- Влияет на загрузку учетных данных (cookies, HTTP-аутентификация)
Пример с обработкой ошибок:
<script src="https://cdn.example.com/missing.js" crossorigin="anonymous"></script>
<script>
window.onerror = function(message, source, lineno, colno, error) {
console.log('Ошибка загрузки скрипта:', message);
return true;
};
</script>
Рекомендации по использованию:
- Всегда используйте для скриптов с CDN
- Для публичных ресурсов применяйте
anonymous - Для авторизованных API используйте
use-credentials - Убедитесь, что сервер поддерживает CORS
Важно! Без правильной настройки CORS:
- Скрипт может не загрузиться
- Информация об ошибках будет ограничена
- Могут возникнуть проблемы с cookie
Примечание: Атрибут
crossorigin особенно важен для:
- Библиотек с CDN (jQuery, Bootstrap)
- Скриптов аналитики
- Виджетов с других доменов
- Приложений с микросервисной архитектурой