我正在使用MVC与JS一起创建一个iPad应用程序。其中一个关键要求是应用程序在离线模式下工作。因此我使用清单文件来确定缓存的脚本文件。但是,我希望在浏览器再次联机时刷新所有脚本。我已经指定了这个:未刷新ASP.NET清单文件脚本
Network:
*
在脚本下面的清单文件中。这不起作用,因为一些文件在浏览器在线刷新时不会更新。此外,如果我检查开发者工具在Chrome中,控制台显示下列事件:
Application Cache Checking event
Application Cache NoUpdate event
我猜意味着浏览器尝试更新缓存,但没有更新被发现。
任何想法?
见下面我的全部清单文件:
CACHE MANIFEST
#rev20
# Explicitly cached entries
../css/sencha-touch.css
../Site.css
../css/mycss.css
../css/application.css
../../Scripts/SenchaTouch/sencha-touch-debug-w-comments.js
../../Scripts/js/Base/Index.js
../Images/Icons/green_indicator.png
../Images/Icons/red_indicator.png
../Images/toolbar_image.png
../Images/search_icon.png
../Images/loading.gif
NETWORK:
*
编辑:
我最初的想法是,一旦被修改过的文件将自动更新。但是,因为浏览器依赖于清单文件来通知它所做的更改(我认为),所以在发生更改时,需要增加#rev
号码。即使这样,当我测试时,我需要重新刷新页面几次才能重新加载文件。我怀疑有一些事情要做,浏览器加载和处理资源的顺序,但我找不到任何信息。
嗨,你这个随时随地? - 我有同样的问题... – Journeyman 2011-05-03 17:04:24
@Journeyman。是和不是。见上面的编辑 – sTodorov 2011-05-05 07:53:36