Javascript объект не определен, хотя файл был включен? - PullRequest
0 голосов
/ 25 сентября 2019

У нас странный случай неопределенной ошибки в Javascript.Код выглядит примерно так:

[...]
<script src="myObject.js"></script> // defines "myObject"
<script type="text/javascript">
  $(function() {
    myObject.doSomething();
  });
</script>

Таким образом, myObject.js должен быть загружен до использования myObject.doSomething().В целом это работает, конечно, очень хорошо, но в наших журналах ошибок JS мы иногда видим ошибку ReferenceError / TypeError myObject is not defined или аналогичную.

Мы даже не можем воспроизвести такую ​​ошибку, поэтому в настоящее время у нас нетключ, почему это происходит.Мы уже зарегистрировали пользовательский агент, чтобы проверить, вызван ли он ботами или поиском, но большинство ошибок не связаны с ботом.

Особый случай использования среди прочих: Stripe Javascript (https://js.stripe.com/v3/). Сначала мы включаем Stripe JS, а затем используем переменную Stripe. Но это не проблема Stripe, мы фокусируем эту ошибку на других JS-библиотеках и даже на самодостаточном и написанном JS-file.

Эти ошибки происходят очень нерегулярно, иногда только 5 раз в день, иногда примерно каждый час. Различные IP-адреса, разные пользовательские агенты.

Может ли быть поведение браузера, например, "блокировка"JS-файлы, но выполнять встроенные теги сценария "?

...