我有一个用应用程序缓存开发的Web应用程序 . 我在运行IE 11 mobile的Windows Phone 8.1上测试它 . 当互联网连接关闭时,Web应用程序按预期加载 . 我的问题是,如果我在Web应用程序处于脱机模式时点击浏览器上的刷新按钮,浏览器会尝试检查更新的清单文件 . 由于没有连接,因此无法找到它,然后缓存呈现为过时状态,浏览器使缓存无效 . 浏览器刷新Web应用程序,然后尝试从网络中拉出页面,因为我处于脱机状态 . 总而言之,在脱机模式下运行时,如何防止浏览器在刷新时使应用程序缓存失效?
3 回答
这对我来说听起来像个错误 . 根据规范,如果对
*.appcache
文件的请求返回404或410状态,则applicationCache应该仅被无效(变得过时) . 如果您处于脱机状态,则应该以状态0失败 .我建议用其他浏览器设备对其进行测试,并最终将其作为错误报告给IE11团队
不是答案,但我的声誉不够高,无法发表评论 .
其他人也注意到了这一点(Why offline web application doesn't work?),所以如前所述,它看起来像一个bug .
您是否正在使用Developer Preview应用程序提供的8.1版本进行测试?或者是正式发布8.1的手机?
我遇到了同样的问题 . 我还没有解决方案 . 但我想 list what did NOT work !
添加IIS Mime类型,如here所述
将.manifest更改为.appcache,如here所述
如上所述添加元 Headers "cache-control: public" here
也无法在wp 8.1 cordova Web应用程序的webbrowser控件中手动添加 Headers (在navigate method中) .
在Windows手机设置中删除浏览器历史记录和本地存储使问题更加严重
奇怪地使用IE中的开发者选项并在选项卡模拟下更改为windows phone,appcache加载成功
我希望这份清单能帮助其他人找不到其他解决方案 .