Ipad ASP.NET清单文件脚本未刷新

Ipad ASP.NET清单文件脚本未刷新,ipad,asp.net-mvc-3,manifest,offline,Ipad,Asp.net Mvc 3,Manifest,Offline,我正在使用MVC和JS创建一个IPad应用程序。其中一个关键要求是应用程序在脱机模式下工作。因此,我使用清单文件来确定缓存的脚本文件。但是,我希望在浏览器再次联机时刷新所有脚本。我已通过以下方式说明: Network: * 在我的脚本下面的清单文件中。但这不起作用,因为当浏览器联机刷新时,某些文件不会更新。此外,如果我检查chrome中的开发者工具,控制台将显示以下事件: Application Cache Checking event Application Cache NoUpdate e

我正在使用MVC和JS创建一个IPad应用程序。其中一个关键要求是应用程序在脱机模式下工作。因此,我使用清单文件来确定缓存的脚本文件。但是,我希望在浏览器再次联机时刷新所有脚本。我已通过以下方式说明:

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
编号需要增加。即使这样,当我测试时,我也不需要刷新页面几次,以使其重新加载文件。我怀疑这与浏览器加载和处理资源的顺序有关,但我找不到任何相关信息

浏览器仅在检测到缓存清单发生更改时更新缓存。增加你的修订号是迫使改变的好方法

浏览器检测到更改后,将下载文件并准备缓存的新版本。浏览器将不会使用新缓存,直到缓存完全满并且您刷新页面

您可以检测新缓存何时准备就绪,并使用以下javascript刷新页面以立即开始使用它:

function updateCache(){
    window.applicationCache.swapCache();
    window.location.reload();
}

window.applicationCache.addEventListener("updateready", updateCache, false);

嗨,你有什么收获吗我也有同样的问题…@熟练工。是和否。请参见上面的编辑