【发布时间】:2016-10-18 07:08:51
【问题描述】:
情况:
我有一个用 Java (1500 LOC) 编写并使用 GWT (Google Web Tools) 编译为 javascript 的网站。几周前,我开始在我的网站上观察“警告:无响应的脚本”。在 25 次尝试中,我收到了 22 次弹出警告。
我可以通过清除 Firefox 浏览器缓存来解决此问题。之后我看到警告信息 1 次 / 25 次尝试。
我试图找出造成这种情况的根本原因。这似乎是一个客户端问题。我的客户可能没有看到这一点,因为他们不像我那样经常加载该网站。但是,我觉得他们将来可能会遇到这个问题。我想知道我是否可以在服务器端做些什么来消除/减少无响应脚本警告的发生。
问题:
- 我比较了加载网站前后的 Firefox “about:cache”。唯一的区别是每次加载网站时都会在内存中创建一个 43 字节的缓存。这正常吗?
- 我认为缓存是为了帮助用户更快地加载网站,在我的情况下会发生什么? (我猜我的网站每次加载时都会生成新的缓存并且不使用旧缓存?)
- 既然清除缓存可以解决这个问题,那么如何在用户关闭我的网站时自动清除缓存?
- GWT 编译的 javascript 中是否存在问题?网络速度也可能是一个因素吗?
- 我还需要检查什么以及解决此问题的潜在解决方案是什么?
【问题讨论】:
-
你将不得不做一些分析来确定你的应用程序到底挂在哪里。是否在特定请求中?什么功能花费的时间最多?
-
@KevinWorkman 当我看到无响应的脚本警告并单击 Firefox 中的调试脚本时,它显示了 XXX.cache.html 的最后一行(第 12346 行)。该行中没有任何内容,但我猜初始化 UI 字段需要花费大部分时间。我还观察到这只发生在 Firefox 中,而不是 Chrome。我不确定 GWT 是否为不同的浏览器生成不同的 javascript,或者两个浏览器处理 javascript 的方式不同
标签: javascript java firefox caching gwt