我使用GWT开发了一个Web应用程序。该应用程序适用于除IE10以外的所有浏览器。它在加载应用程序时随机显示黑页。
当我启用网络跟踪时,我看到以下条目导致出现空白页面。
/demo/04CD47D11F9ABA6EF09A5F41AA80D95C.cache.html GET 404 text/html
3.51 KB
我看到的是当空白页出现时,在网络跟踪中,对cache.html的调用失败并显示404
更新
问题不会经常发生。当它出现时,如果我清除完整的浏览历史记录,空白页将消失,打开新选项卡然后打开URL。这是一种解决方法,但作为应用程序的用户很烦人。
我查看了GWT文档,但没有找到有效信息。任何解决方法都非常感谢。
答案 0 :(得分:1)
这只能由缓存的modulename.nocache.js
。
GWT编译器将创建一些特定于浏览器的文件(让我们说:mozilla.js,webkit.js,ie10.js,ie9.js和ie8.js)
这些文件有一些神秘的名字(如404中的那个),但用简单的名字更容易解释。
编译后的输出如下:
/app/app.html
/app/module.nocache.js
/app/module/mozilla.cache.js
/app/module/webkit.cache.js
/app/module/ie10.cache.js
/app/module/ie9.cache.js
/app/module/ie8.cache.js
app.html
加载module.nocache.js
module.nocache.js
决定必须加载哪些特定于浏览器的文件(=置换)。
如果module.nocache.js
和排列不是来自同一个编译过程,则只会发生错误。
最常见的原因是浏览器缓存*.nocache.js
请确保您有一个过滤器,它为模式为*nocache*
的文件发送无缓存标头。
我不知道您的网络服务器,对于tomcat,可以通过为 nocache 模式添加servlet-filter来完成。