但是,让我们考虑一下我的设备未脱机的情况.它仍然有互联网连接.但是我的服务器坏了.可能有许多不同的原因(硬件故障,AppPool停止,IIS限制,DNS错误等).在这种情况下,当我在浏览器中打开缓存的应用程序时,它将尝试获取appcache清单并获得404错误(未找到).然后浏览器清除应用程序的AppCache!因此,在下一次运行时,它不会从AppCache加载它并显示404错误“page”.没有更多的离线工作.
对我来说,离线模式功能取决于服务器无法访问的原因看起来很奇怪.我为什么要关心用户(没有互联网连接或服务器关闭)?
所以我的问题是:当设备在线但其服务器无法访问时,是否有人知道如何使应用程序正常工作?
理想情况下,我应该能够捕获window.applicationCache的错误事件并告诉它“它没关系,请继续使用缓存,不要废弃它”.
解决方法
Otherwise,if fetching the manifest fails in some other way (e.g. the server returns another 4xx or 5xx response or equivalent,or there is a DNS error,or the connection times out,or the user cancels the download,or the parser for manifests fails when checking the magic signature),or if the server returned a redirect,or if the resource is labeled with a MIME type other than text/cache-manifest,then run the cache failure steps.