我创建了一个 Web 应用程序,它缓存了所有必要的代码和数据,以便通过 applicationCache 离线使用。但是,每次应用程序启动时,它都会立即尝试检查更新。这会在很长一段时间内阻止浏览器,即使它没有找到任何要更新的内容。这种行为对应用程序有很大的破坏性(不应该在后台进行更新吗?)。只是检查阶段在移动设备上需要很多时间,如果它发现更新,那么所有关于下载需要多长时间的赌注都没有了(b/c 它必须重新下载所有文件)——这也会冻结浏览器。
所以,我想知道:
- 有没有办法将 applicationCache 更新委托给共享的 Web Worker?或者
- 有没有办法阻止所有 applicationCache 更新,直到用户特别想要检查更新并按下将通过 applicationCache.update() 启动更新的按钮?或者
- 还有其他方法可以减少检查更新所花费的时间吗?
- 应用程序缓存更新不应该在后台异步运行吗?
编辑:也许清单文件上精心构建的缓存控制标头是答案?我将对此进行调查,但我希望有人能给我有关这些更新的更多信息。谢谢。
更新
好的,我玩过头球,但没有任何帮助。我开始赏金了。如果你能帮忙,请做!