HTML 离线应用程序缓存,获取错误详细信息

发布于 2024-10-19 01:26:16 字数 326 浏览 5 评论 0原文

作为我正在构建的离线 Web 应用程序加载屏幕的一部分(使用缓存清单),我遇到了浏览器兼容性问题。

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

有谁知道是否有办法从离线缓存错误事件中提取错误信息?

As part of a loading screen for an offline-enabled web application I'm building (using a cache manifest), I have run into browser compatibility issues.

In the latest versions of Chrome, FireFox, and Safari, I am able to download the files in my cache manifest and go offline, but in iOS 4 Mobile Safari, the window.applicationCache.error event is raised. The event argument I receive back is completely empty. Additionally, I have enabled the debug console on my iPad, but there is no relevant error information.

Does anyone know if there is a way to extract error information from the offline-caching error event?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

二智少女 2024-10-26 01:26:16

我遇到了一个独特的问题,因为我通过 ASP.NET 通用处理程序 (.ashx) 提供脱机清单,而 Safari 完全拒绝打开该文件。我不确定 .ashx 是否是 Safari 中某种受保护的文件扩展名,但这是一个很难诊断的错误。

我最终通过检查 Safari 是否访问了离线清单发现了错误,您可能需要检查服务器日志。

I had a unique problem, in that I was serving up my offline manifest via an ASP.NET generic handler (.ashx), and Safari flat-out refused to open the file. I'm not sure if .ashx's are some type of protected file extension in Safari, but it was a difficult to diagnose error.

I ultimately found the error by checking to see if Safari was even hitting the offline manifest, something you may have to check with server logs.

温柔女人霸气范 2024-10-26 01:26:16

如果移动版 Safari 永久会遇到缓存错误,但 PC 或 Mac 上的 Safari 会进行缓存,则可能是您在没有关闭所有浏览器屏幕和浏览器的情况下清除了浏览器缓存。清除浏览器缓存还会删除应用程序缓存,尤其是缓存数据库。只要打开了浏览器屏幕,mobile safari 就不会重新创建应用程序缓存数据库。因此,由于缺少数据库,每个应用程序缓存操作都会失败。 PC-Safari 不会破坏数据库文件,但会删除数据库中的条目。

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

If mobile Safari permanently will run into an caching error but Safari on PC or Mac will do caching, it might be that you have cleared the browser cache without closing all browser screens and closing the browser also. Clearing the browser cache removes also the applicaton caches, especially the cache database. As long as there is a browser screen opened, mobile safari does not recreate the application cache database. As a result of this each application caching operation will fail, due to missing database. PC-Safari never destroys the database file but deletes the entries in the database.

As I know, there is no way to detect this situation via JavaScript.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文