首页 文章

单击刷新按钮时,HTML应用程序缓存在脱机模式下出现问题

提问于
浏览
2

我有一个用应用程序缓存开发的Web应用程序 . 我在运行IE 11 mobile的Windows Phone 8.1上测试它 . 当互联网连接关闭时,Web应用程序按预期加载 . 我的问题是,如果我在Web应用程序处于脱机模式时点击浏览器上的刷新按钮,浏览器会尝试检查更新的清单文件 . 由于没有连接,因此无法找到它,然后缓存呈现为过时状态,浏览器使缓存无效 . 浏览器刷新Web应用程序,然后尝试从网络中拉出页面,因为我处于脱机状态 . 总而言之,在脱机模式下运行时,如何防止浏览器在刷新时使应用程序缓存失效?

3 回答

  • 1

    这对我来说听起来像个错误 . 根据规范,如果对 *.appcache 文件的请求返回404或410状态,则applicationCache应该仅被无效(变得过时) . 如果您处于脱机状态,则应该以状态0失败 .

    我建议用其他浏览器设备对其进行测试,并最终将其作为错误报告给IE11团队

  • 0

    不是答案,但我的声誉不够高,无法发表评论 .

    其他人也注意到了这一点(Why offline web application doesn't work?),所以如前所述,它看起来像一个bug .

    您是否正在使用Developer Preview应用程序提供的8.1版本进行测试?或者是正式发布8.1的手机?

  • 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加载成功

    我希望这份清单能帮助其他人找不到其他解决方案 .

相关问题