我的ExtJS应用程序面临着一种非常奇怪的行为。有时,我可以看到旧的JavaScript代码或过时的ExtJS视图。即使我用Ctrl+F5重新加载网页,我也可以找到旧的内容。有时我可以看到正确的页面,但然后重新加载它,发现它是过时的。
似乎可以有混合的内容。例如,我删除一些标签,然后添加一些表单。有时我可以看到表格和标签。
清除浏览器的缓存没有任何效果,以及打开页面上的清除VM。
我试着
Ext.Loader.setConfig({
disableCaching: false
});
Ext.data.Connection.disableCaching = false;
Ext.data.proxy.Server.prototype.noCache = false;
Ext.Ajax.disableCaching = false;在创建主视图之前,导入Ext.application实例的Ext.application函数,但似乎没有任何效果。
这很奇怪,因为我以前从未在我的应用程序中看到过这种情况。
UPD:现在我可以看到过时的面板,但是js中的代码是可以的(区别是新版本中没有标签)。这真的很奇怪。
发布于 2014-07-08 22:52:49
当涉及到缓存“静态”资源时,一些浏览器比其他浏览器更具侵略性。通常,它们使用URL模式来缓存。
如果您自己包含脚本,您可以在脚本资源url中添加一个日期参数,类似于:src='/js/myfile.js?date=1234567',在这里,每次页面加载时(服务器端或通过JS)都会动态生成一个新的时间戳。
ExtJS通过加载器和它发出的任何AJAX请求自动将_dc=timestamp param添加到它加载的文件资源中。
发布于 2014-07-09 10:22:04
好的,我发现了:我意外地用相同的x类型定义了对象,并得到了某种竞争条件。尽管JS本身还不错,但有时我从另一个JS中看到了面板。
https://stackoverflow.com/questions/24642572
复制相似问题