Атрибут 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)
  • Скриптов аналитики
  • Виджетов с других доменов
  • Приложений с микросервисной архитектурой