2011-02-25 64 views
0

作为我正在构建的离线启用的Web应用程序的加载屏幕的一部分(using a cache manifest),我遇到了浏览器兼容性问题。HTML离线应用程序缓存,获取错误详细信息

在Chrome,FireFox和Safari的最新版本中,我可以下载缓存清单中的文件并进入离线状态,但在iOS 4 Mobile Safari中引发了window.applicationCache.error事件。我收到的事件参数完全是空的。另外,我启用了iPad上的调试控制台,但没有相关的错误信息。

有谁知道是否有方法从脱机缓存错误事件中提取错误信息?

回答

0

我有一个独特的问题,因为我通过ASP.NET通用处理程序(.ashx)提供脱机清单,并且Safari平板拒绝打开文件。我不确定.ashx是否是Safari中的某种受保护的文件扩展名,但诊断错误非常困难。

我最终发现错误是通过检查Safari是否甚至触及脱机清单,您可能需要检查服务器日志。

0

如果移动Safari永久会遇到缓存错误,但PC或Mac上的Safari会执行缓存,则可能是因为您已清除浏览器缓存而未关闭所有浏览器屏幕并关闭浏览器。清除浏览器缓存也会删除应用程序缓存,尤其是缓存数据库。只要有一个浏览器屏幕打开,移动Safari不会重新创建应用程序缓存数据库。由于缺少数据库,每个应用程序缓存操作都将失败。 PC-Safari从不销毁数据库文件,但会删除数据库中的条目。

据我所知,没有办法通过JavaScript检测到这种情况。

相关问题