缓存清单脱机应用,无法刷新Chrome中的javascript文件

时间:2011-05-03 13:36:57

标签: javascript manifest offline

我正在使用缓存清单文件处理离线网络应用。我无法刷新我的javascript文件。如果我更改.js文件(清单文件中列出),然后我更改清单文件版本号。并保存它,然后更改的.js文件不会在客户端上重新加载。如何让.js文件刷新?

由于

5 个答案:

答案 0 :(得分:12)

那是因为网络服务器告诉浏览器缓存静态文件几个小时。因此浏览器不知道清单文件已更改。您可以清除所有应用程序数据'或'配置清单不可缓存的Web服务器...

阅读http://diveintohtml5.info/offline.html了解详情

如果您要在Chrome上清除应用缓存,请使用chrome:// appcache-internals / 并且您需要手动搜索C:\ Documents and Settings \ YOURUSERNAME \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default \ Cache

答案 1 :(得分:4)

我假设你使用缓存清单然后刷新清单,浏览器会再次请求所有文件。但是,我发现我需要在清单中的所有文件中显式设置标头,以告知浏览器不要缓存文件。我相信,一旦清单告诉浏览器再次请求文件,浏览器就像任何其他非清单缓存文件一样对待它。也许这是Chrome的错误,但我觉得我在另一个WebKit浏览器中看到了这个。

无论如何,将清单中文件的标头设置为永不缓存,并在更新清单时重新加载。如果在清单页面之外使用这些文件,则可能需要根据需要实际缓存文件。

答案 2 :(得分:3)

在地址栏中输入chrome://appcache-internals,然后点击ENTER

将显示缓存清单列表,然后只删除您想要的清单,并在您再次加载页面时刷新所有内容。

希望这会有所帮助:)

答案 3 :(得分:1)

我遇到同样的问题,直到我遇到这个无价的警告 Mozilla Developer site

  

重要说明:请勿在缓存清单中指定清单本身   文件,否则通知浏览器几乎是不可能的   新的清单可用。

woops。我的错。

但是,每当我更改代码中的某些内容时,我需要更改清单中的内容,然后重新加载两次,这是一个无关的问题。

答案 4 :(得分:0)

就我而言,我必须使用元标记禁用传统的浏览器缓存。请参阅this SO question如何