PWA 中最常见的问题
我写这篇博客是为了分享我在开发 PWA 过程中遇到的一个问题。我查阅了很多相关的博客和教程,发现有些功能在 iOS 上无法正常工作,而 Android 对 PWA 的支持则很好。
让我们逐一来看。
PWA 能否访问摄像头?
是的,这两个操作系统都允许访问摄像头,从而可以在 PWA 中拍摄图像和视频。Android
:是;
iOS:是
PWA 可以离线运行吗?
PWA 利用您上次与应用交互时的数据缓存,因此即使没有网络连接也能离线使用。Android
:支持;
iOS:支持
PWA 可以访问文件系统吗?
这是访问常规存储文件系统的唯一方法,而常规存储文件系统没有任何事件监听器。PWA 无法监听常规文件系统的更改,只能监听应用程序自身的文件。
PWA 可以访问蓝牙吗?
Web 蓝牙 API 是一种底层 API,允许 Web 应用程序与附近的支持低功耗蓝牙的外围设备配对并访问其提供的服务。但并非所有平台都支持它。Android
:支持;
iOS:不支持
PWA 能否访问手机的 GPS?
许多浏览器都支持这项新功能,包括 Chrome、Edge、Firefox、Safari 和 Opera。在 IE 浏览器中,您需要进行一些配置才能使其正常工作。Android
:支持;
iOS:支持
PWA 能否使用高级摄像头功能?
并非所有平台都支持高级相机功能,例如二维码扫描。
安卓:支持;
iOS:不支持。
PWA 能否访问联系人?
不,PWA 中无法访问联系人,这主要是出于安全考虑。Android
:否
;iOS:否
PWA 可以检查是否有新更新吗?
是的,为了实现这一点,您需要检查缓存文件是否已更改。我们可以通过在已注册的 Service Worker 的 onupdatefound 函数中编写一个钩子来实现这一点。
我在这里找到了一篇详细的博客文章,其中解释了每个步骤。https
://medium.com/progressive-web-apps/pwa-create-a-new-update-available-notification-using-service-workers-18be9168d717
PWA 可以支持推送通知吗?
这是任何应用程序最关键的部分,许多产品所有者正是因为这些限制而放弃使用 PWA。Android 支持推送通知,但 iOS 不支持。或许苹果会在下一个版本 14 中更新,但我们必须等到那时。Android
:是;
iOS:否