作为我正在构建的离线启用的Web应用程序(using a cache manifest)的加载屏幕的一部分,我遇到了浏览器兼容性问题。
在最新版本的Chrome,FireFox和Safari中,我可以下载缓存清单中的文件并离线,但在iOS 4 Mobile Safari中,会引发window.applicationCache.error事件。我收到的事件参数完全是空的。另外,我在iPad上启用了调试控制台,但没有相关的错误信息。
有没有人知道是否有办法从离线缓存错误事件中提取错误信息?
答案 0 :(得分:0)
我有一个独特的问题,因为我通过ASP.NET通用处理程序(.ashx)提供我的离线清单,并且Safari flat-out拒绝打开该文件。我不确定.ashx是否是Safari中某种类型的受保护文件扩展名,但它很难诊断错误。
我最终通过检查Safari是否甚至点击了离线清单找到了错误,您可能需要检查服务器日志。
答案 1 :(得分:0)
如果移动版Safari永久会遇到缓存错误,但PC或Mac上的Safari会进行缓存,则可能是您已清除浏览器缓存而未关闭所有浏览器屏幕并关闭浏览器。清除浏览器缓存还会删除应用程序缓存,尤其是缓存数据库。只要打开浏览器屏幕,移动safari就不会重新创建应用程序缓存数据库。因此,由于缺少数据库,每个应用程序缓存操作都将失败。 PC-Safari永远不会破坏数据库文件,但会删除数据库中的条目。
据我所知,没有办法通过JavaScript检测到这种情况。