好的。我以前从未见过这样的事情,我很困惑......在我正在处理的网站上,有两个 JavaScript 包含。(好吧,还有更多,但问题只有两个)。我们将这些称为A.js
和B.js
。
A.js
定义了一个 JavaScript 单例A
。同样B.js
定义了一个 JavaScript 单例B
。该类B
依赖于A
.
我几乎将所有代码都打包在try { ... } catch { ... }
块中,并且在出错时,系统会生成一个 AJAX 请求,通过电子邮件向我发送错误的详细信息。
在我办公室的一个系统(Mac 的 Firefox 3.0)上,我看到了最奇怪的行为。偶尔,也许每隔一两个小时一次,但没有特定的模式,我收到一封来自班级的错误电子邮件B
:"ReferenceError: A is undefined."
我不知道为什么/如何有时A
会不确定。当我查看 apache 日志时,在收到错误期间,客户端正在请求,在请求之前,服务器正在响应(未修改)/A.js
/B.js
304
我以某种方式怀疑问题是该文件已从客户端缓存中过期,但是服务器没有发送该文件,因此它从未被执行并且A
未定义。但这只是一个猜测,我不明白为什么会发生这种情况。如果我猜对了,我该如何解决???
如果它很重要,mod_disk_cache
则在服务器上启用,我已禁用它以查看是否导致问题。如果是这样,也许这属于 ServerFault ......
任何建议都非常欢迎!!