jQuery не определен: как исправить эту распространенную ошибку
23 февраля 2022 г.Одна из наиболее распространенных ошибок JavaScript, с которой сталкиваются наши клиенты, — это «jQuery не определен». Это может быть довольно серьезной проблемой, если ваше веб-приложение использует jQuery (73% всех сайтов!), поскольку, если jQuery не загружается, может сделать ваш код JavaScript непригодным для использования.
Каковы общие причины того, что jQuery не определен?
Наиболее очевидная причина этой ошибки заключается в том, что вы забыли включить jQuery перед ее использованием, но есть и более тонкие причины, которые вы не увидите, пока не развернете свой сайт в рабочей среде.
1. Ваш jQuery, размещенный на CDN, может быть заблокирован
Если вы используете размещенную на CDN версию jQuery, такую как размещенные библиотеки Google, эти CDN могут быть заблокированы фильтром или прокси-сервисом в соединении ваших клиентов. Обычно мы видим эту проблему с запросами, исходящими с китайских или индонезийских IP-адресов.
2. Ваш jQuery, размещенный на CDN, не работает или истекло время ожидания
Другим распространенным примером этой ошибки является ненадежная или медленная загрузка CDN, на которой размещается ваш скрипт jQuery. Браузеры обычно имеют тайм-аут около 20-30 секунд для каждого тега скрипта.
Как я могу исправить ошибку jQuery не определен?
К счастью, для большинства этих проблем есть простое решение. Вы можете легко предоставить локальную резервную версию jQuery следующим образом:
```javascript
// Сначала попробуйте загрузить jQuery из CDN Google
// Возврат к локальной копии jQuery в случае сбоя CDN
<скрипт>
окно.jQuery || document.write(''))
Если у вас есть приложение Rails, вы также можете использовать jquery-rails gem, который автоматизирует этот резервный процесс.
Этот метод используется на многих популярных сайтах, включая jquery.com, и устраняет большинство ошибок «jQuery не определено». Если CDN jQuery не загружается, он почти наверняка загрузится из вашего собственного домена, но вы также увидите преимущества использования jQuery, размещенного в CDN, для большинства ваших пользователей.
Другой вариант — установить jQuery с помощью npm или другого менеджера пакетов и связать его с остальной частью вашего JavaScript. Для этого сначала запустите npm install jquery --save
, а затем import $ from 'jquery'
.
Является ли jQuery проблемой на моем сайте?
Практически невозможно защититься от всех проблем с JavaScript при разработке приложения, поскольку такие переменные, как браузер, операционная система, страна и интернет-провайдер, могут сильно различаться в производственной среде.
Вы можете проверить, является ли это проблемой на вашем сайте, с помощью службы мониторинга ошибок JavaScript, такой как [Bugsnag] (https://www.bugsnag.com/). Bugsnag предоставляет комплексные [отчеты об ошибках JavaScript] (https://www.bugsnag.com/platforms/javascript), которые обнаруживают эту и все другие ошибки JavaScript.
Оригинал