我们有一个 .net Web 表单应用程序,在我们自己的服务器上的 iis 上运行,该应用程序在过去 24 小时内显示出一些奇怪的行为。
Rollbar 通知我多个错误,所有错误都表明无法从大量用户中找到某些 js 函数/变量 - 本质上破坏了应用程序。我今天上类,在 chrome 开发工具中加载该网站,却发现它没有显示任何源文件,因此没有要加载/单步执行的 js 文件(尽管有 css 和图像文件)。
更令人困惑的是,刷新页面后,一切都像它应该的那样?!
昨天发布了该应用程序的更新版本,所以我猜这与它有关?
老实说,任何有关我们可以调查以防止其再次发生的事情的推测性指示都将不胜感激。
最佳答案
如果您有多个 javascript 文件,并且您的代码在加载其依赖项之前运行,则会出现“未定义”错误。
页面刷新后,依赖文件已被缓存,因此它们会立即加载,几乎同步。这就是为什么您下次不会再出现错误的原因。
尝试在 devTools 中禁用缓存并重新加载几次,检查下一次尝试是否仍然有效。
如果这是问题所在,您可以考虑模块化 JavaScript 代码并将其作为异步依赖项加载,例如使用 browserify、webpack 甚至 require .js。无论如何,您可以在寻找“javascript load order”的主题中找到更多内容。
关于Javascript 文件加载不一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47592084/