使用 Android Chrome 测试离线浏览
Test offline browsing with Android Chrome
我正在尝试使用 Service Worker 构建离线数据持久性 Web 应用程序。我设法让它在我的笔记本电脑上运行 Chrome (51),当我通过 Chrome DevTools - 网络选项卡模拟离线时,它会加载缓存文件并显示离线消息。
我将应用程序上传到 github 以确保它可用于 https (https://mguardos.github.io/index.html)
然而,当我尝试用我的 Android Chrome (Nexus 5 - Android 6.0.1 - Chrome 51) 测试它时,应用程序加载正常在线时,但如果我打开平面模式并重新加载页面,浏览器不会检查 service worker 而是直接显示离线消息
“您处于离线状态。
您的设备处于离线状态。
尝试: ...
ERR_INTERNET_DISCONNECTED
我必须在 Android Chrome 中启用任何选项才能让 Service worker 工作吗?
感谢任何提示
PS(已编辑):Android 6.0.1 上的 Opera 37 会出现同样的问题。但是,Chrome 和 Opera 的注册服务在后台正常进行(通过注册方法成功完成后的警报进行验证)
PSS:上面的 link 试图成为一个非常基本的例子,将 service workers 与 AppCache 相结合,以检索 localStorage 和 IndexedDB 数据,因此非常感谢任何建设性的评论家原始问题
Chrome 中的问题似乎是它需要将条目 '/' 添加到要为 Service Worker 缓存的文件中。我添加了该条目,我可以看到应用程序在离线时使用 Android
正常工作
然而,Opera 的问题仍然存在,我什至可以用 https://airhorner.com 应用程序复制它
- 只需打开 Opera(确保之前清理缓存)
- 转到 https://airhorner.com(应用程序加载正常 - 尽管听起来不正常)
- 激活飞行模式
- 重新加载页面(应用程序仍在加载,因为它正在从本地缓存读取)
- 关闭浏览器或转到其他地址
- 然后返回https://airhorner.com(出现我在原题中添加的Offline message)
我将继续我的调查,并可能会为 Opera 浏览器创建一个新问题,因为这个问题已在 Chrome
中得到解答
我正在尝试使用 Service Worker 构建离线数据持久性 Web 应用程序。我设法让它在我的笔记本电脑上运行 Chrome (51),当我通过 Chrome DevTools - 网络选项卡模拟离线时,它会加载缓存文件并显示离线消息。 我将应用程序上传到 github 以确保它可用于 https (https://mguardos.github.io/index.html)
然而,当我尝试用我的 Android Chrome (Nexus 5 - Android 6.0.1 - Chrome 51) 测试它时,应用程序加载正常在线时,但如果我打开平面模式并重新加载页面,浏览器不会检查 service worker 而是直接显示离线消息
“您处于离线状态。 您的设备处于离线状态。 尝试: ... ERR_INTERNET_DISCONNECTED
我必须在 Android Chrome 中启用任何选项才能让 Service worker 工作吗?
感谢任何提示
PS(已编辑):Android 6.0.1 上的 Opera 37 会出现同样的问题。但是,Chrome 和 Opera 的注册服务在后台正常进行(通过注册方法成功完成后的警报进行验证)
PSS:上面的 link 试图成为一个非常基本的例子,将 service workers 与 AppCache 相结合,以检索 localStorage 和 IndexedDB 数据,因此非常感谢任何建设性的评论家原始问题
Chrome 中的问题似乎是它需要将条目 '/' 添加到要为 Service Worker 缓存的文件中。我添加了该条目,我可以看到应用程序在离线时使用 Android
正常工作然而,Opera 的问题仍然存在,我什至可以用 https://airhorner.com 应用程序复制它
- 只需打开 Opera(确保之前清理缓存)
- 转到 https://airhorner.com(应用程序加载正常 - 尽管听起来不正常)
- 激活飞行模式
- 重新加载页面(应用程序仍在加载,因为它正在从本地缓存读取)
- 关闭浏览器或转到其他地址
- 然后返回https://airhorner.com(出现我在原题中添加的Offline message)
我将继续我的调查,并可能会为 Opera 浏览器创建一个新问题,因为这个问题已在 Chrome
中得到解答