#javascript #jquery
#javascript #jquery
Вопрос:
Из журнала ошибок javascript моего сайта кажется, что у меня редкое состояние гонки, но я не вижу, как это может произойти.
У меня есть 3 скрипта (2 пользовательских), все загруженные из заголовка HTML
<head>
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="main.js"></script>
<script src="common.js"></script>
</head>
main.js содержит getPosZoom() и common.js содержит getCookie()
Позже в HTML-документе (последнее в теге body) Я использую jQuery document ready для запуска getPosZoom()
$(document).ready(function() {
getPosZoom(...);
}
getPosZoom вызовет функцию getCookie.
Иногда getCookie не определен, вот пример из моего журнала
2020-08-20 00:20:31: https://code.jquery.com/jquery-3.5.1.min.js | Uncaught ReferenceError: getCookie is not defined
UserAgent: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.126 Mobile Safari/537.36 (compatible; Googlebot/2.1;
http://www.google.com/bot.html)
Stacktrace: ReferenceError: getCookie is not defined
at getPosZoom (https://example.com/main.js:162:2)
at HTMLDocument. (https://example.com:105:13)
at e (https://code.jquery.com/jquery-3.5.1.min.js:2:30005)
at t (https://code.jquery.com/jquery-3.5.1.min.js:2:30307) | line: 2
Как это может произойти?
Комментарии:
1. Теперь я вижу, что агентом является Googlebot, может быть, поисковый робот ведет себя не как настоящий браузер. Я читал, что Google отлично индексирует динамический контент / javascript.
2. Где ваш
$(document).ready
вызов? Это внутриmain.js
?3. Нет, она помещена в основную часть HTML