Javascript html5应用程序缓存强制更新

Javascript html5应用程序缓存强制更新,javascript,html5-appcache,Javascript,Html5 Appcache,窗口。applicationCache有一个名为更新的方法。我假设此函数获取html元素中指定的manifest.appcache文件,并检查差异 这很好,但据我所知,无论何时加载页面,浏览器都会请求manifest.appcache文件,并运行相同的“检查差异”过程 因此,我的问题是(请注意,统计数据是虚构的): “如果平均更新发布周期为2周,而在页面上花费的平均时间为30秒,为什么会有更新功能?” 对我来说,这毫无意义,我认为我遗漏了一些东西,因此我提出了这样的问题。一些公司(例如:IMVU

窗口。applicationCache有一个名为更新的方法。我假设此函数获取html元素中指定的manifest.appcache文件,并检查差异

这很好,但据我所知,无论何时加载页面,浏览器都会请求manifest.appcache文件,并运行相同的“检查差异”过程

因此,我的问题是(请注意,统计数据是虚构的):

“如果平均更新发布周期为2周,而在页面上花费的平均时间为30秒,为什么会有更新功能?”

对我来说,这毫无意义,我认为我遗漏了一些东西,因此我提出了这样的问题。

一些公司(例如:IMVU)每天会推送几次更新。它通常被称为“连续部署”。 在页面上花费的平均时间在很大程度上取决于应用程序的体系结构

我认为HTML5 Appcache主要用于缓存“单页应用程序”的代码,即,就浏览器而言,所有用户交互都发生在单个页面视图中的应用程序。Gmail是单页应用的一个很好的例子。虽然它不使用appcache,但它可以

用户可能不会将其体验为单页视图,因为(实际上)整个可见文档可能会被从服务器下载的其他内容替换。用户甚至可以在使用HTML5历史API在应用程序内部“浏览”时看到其位置栏的更改

用户可能连续数小时使用单页应用程序(比如gmail),如果他不关闭电脑(或关闭浏览器),甚至可能几天

根据设计,要求浏览器加载其具有appcache缓存(其工作方式与普通浏览器缓存不同)的页面的浏览器将始终从磁盘加载缓存版本,而不一定是最新版本。从缓存加载意味着应用程序启动时没有任何网络延迟。只有在加载应用程序后,浏览器才会检查更新的缓存清单。默认情况下,不会通知用户任何此类更新。他只有在浏览器中重新加载应用程序后才能看到更新

如果用户有一个应用程序打开了几个小时,那么在此期间肯定会有更新。因此,为了最大限度地提高用户在下一次启动应用程序时看到最新版本的机会,应用程序应间歇检查更新。如果appcache清单已更改,则将更新缓存。下次用户启动应用程序时,浏览器将加载用户先前使用应用程序时加载的最新版本。轮询间隔可以调整为新版本之间的预期间隔

还可以提醒用户可用的更新。可能会有一条不显眼的消息“应用程序更新可用,立即加载?(确定)(解除)”因为所有资源都是事先获取的,所以加载几乎是即时的(全部来自磁盘)。更困难的是确保所有用户的数据(以及“会话状态”)都得到保留。

一些公司(例如:IMVU)每天会推送几次更新。它通常被称为“连续部署”。 在页面上花费的平均时间在很大程度上取决于应用程序的体系结构

我认为HTML5 Appcache主要用于缓存“单页应用程序”的代码,即,就浏览器而言,所有用户交互都发生在单个页面视图中的应用程序。Gmail是单页应用的一个很好的例子。虽然它不使用appcache,但它可以

用户可能不会将其体验为单页视图,因为(实际上)整个可见文档可能会被从服务器下载的其他内容替换。用户甚至可以在使用HTML5历史API在应用程序内部“浏览”时看到其位置栏的更改

用户可能连续数小时使用单页应用程序(比如gmail),如果他不关闭电脑(或关闭浏览器),甚至可能几天

根据设计,要求浏览器加载其具有appcache缓存(其工作方式与普通浏览器缓存不同)的页面的浏览器将始终从磁盘加载缓存版本,而不一定是最新版本。从缓存加载意味着应用程序启动时没有任何网络延迟。只有在加载应用程序后,浏览器才会检查更新的缓存清单。默认情况下,不会通知用户任何此类更新。他只有在浏览器中重新加载应用程序后才能看到更新

如果用户有一个应用程序打开了几个小时,那么在此期间肯定会有更新。因此,为了最大限度地提高用户在下一次启动应用程序时看到最新版本的机会,应用程序应间歇检查更新。如果appcache清单已更改,则将更新缓存。下次用户启动应用程序时,浏览器将加载用户先前使用应用程序时加载的最新版本。轮询间隔可以调整为新版本之间的预期间隔


还可以提醒用户可用的更新。可能会有一条不显眼的消息“应用程序更新可用,立即加载?(确定)(解除)”因为所有资源都是事先获取的,所以加载几乎是即时的(全部来自磁盘)。更困难的是确保所有用户的数据(以及“会话状态”)都被保留。

这可能是无用的,但更新功能就是这样做的。也许它用于开发,所以开发人员不必刷新,也许它完全没有用。也可能是针对在页面上停留两周的用户。这可能没用,但更新功能就是这么做的。也许是我