Хорошо. Я никогда не видел ничего подобного раньше, и я совершенно сбит с толку ... На веб-сайте, над которым я работаю, есть два JavaScript-кода. (Ну, еще много, но проблема возникает только с двумя). Мы назовем их A.js
и B.js
.
A.js
определяет синглтон JavaScript A
. Точно так же B.js
определяет синглтон JavaScript B
. Класс B
зависит от методов из A
.
У меня почти весь код закручен в блоки try { ... } catch { ... }
, и в случае ошибки система генерирует запрос AJAX, чтобы отправить мне подробности ошибки по электронной почте.
В одной системе здесь, в моем офисе (Firefox 3.0 для Mac), я вижу странное поведение. Время от времени, возможно, раз в час или два, но без определенного шаблона, я получаю сообщение об ошибке из класса B
: "ReferenceError: A is undefined."
Понятия не имею, почему / как A
будет неопределенным иногда . Когда я просматриваю логи apache, во время получения сообщения об ошибке клиент запрашивает /A.js
, а затем запрашивает /B.js
, а сервер отвечает 304
(не изменено)
Я почему-то подозреваю, что проблема в том, что файл истек из клиентского кэша, однако сервер не отправляет файл, поэтому он никогда не выполняется и A
не определен. Но это всего лишь предположение, и я не понимаю, почему это произошло. И если я угадаю правильно, как мне это исправить ???
Если это имеет значение, на сервере был включен mod_disk_cache
, и я отключил его, чтобы посмотреть, не является ли это причиной проблемы. Если это так, возможно, это относится к ServerFault ...
Любые предложения очень приветствуются !!