在我们的应用程序中,我们使用Sencha GXT和GWT 2.7。
不幸的是,弹出窗口中经常出现以下错误:
下载/ path / deferredjs / SOMEGENERATEDID失败,状态为404 ("脚本标签失败 - 没有状态")
只有在部署了新版本的应用程序时才会出现这种情况。清除浏览器缓存可以解决问题。
我发现这个错误发生在GWT的班级ScriptTagLoadingStrategy.java
中。
除了每次清除浏览器缓存时,还有其他方法可以解决此问题吗?
答案 0 :(得分:1)
似乎您的HTTP服务器配置有关缓存未正确配置为与GWT一起使用。
*.nocache.*
不应该被缓存文档中也有Apache HTTP服务器的示例配置。
*.nocache.js
文件为a bootstrap script:
此文件负责根据浏览器和区域设置(...)选择要为客户端加载的应用程序的正确版本。符合每个浏览器/区域设置的应用程序的各种版本是
<md5>.cache.html
应用程序文件。
简而言之:引导程序文件在每次编译时都会更改,并且是一个&#34;网关&#34;到您的申请。它选择要加载的<md5>.cache.*
应用程序版本。它的名称必须是常量,因为您从主机页面引用它。自<md5>.cache.*
个文件&#39;名称随着每个源代码更改而变化(因为它的名称是其内容的MD5哈希),它们可以安全地缓存。
所以发生的事情是旧的引导脚本被缓存(并加载而不是新的脚本)并且它试图加载旧版本的应用程序(*.cache.*
文件之一) 。但是,这些文件可能已被编译/重新部署删除,因此404
。