首页 > 解决方案 > 无法在 Firefox for Android 中激活 navigator.storage.persist

问题描述

StorageManager 有一个 API 可以使离线存储持久化,当用户驱动器上没有足够的可用空间时,它们不会受到清除的影响。 https://developer.mozilla.org/ru/docs/Web/API/StorageManager/persist

我想为我的网站使用持久离线存储。可以使用以下代码激活持久模式:

navigator.storage.persist.then(
  function(persist_enabled) {console.log(persist_enabled)}
)

在 Desktop FireFox 版本中执行此命令时,浏览器会提示权限,如果用户允许,则 persist_enabled 为“true”。

但是当我在 Android Firefox 版本中运行这个命令时,没有权限提示,结果总是“假”。

我必须满足一些条件才能在 Adroid Firefox 上打开此功能吗?

2020.09.29 更新

Firefox 支持团队说这是一个错误。必须弹出权限提示,但不是。我们应该等待修复。 https://github.com/mozilla-mobile/android-components/issues/3153

标签: javascriptandroidfirefoxoffline-storage

解决方案


当前日期有坏消息(选中9'th september 2020

根据“我可以使用”网站(https://caniuse.com/mdn-api_storagemanager),默认情况下不支持此功能Firefox 79 for Android。它必须通过内部配置启用。

因此,目前无法将此功能用于常规站点,因为用户可能不会启用它。

更新。2020.12.11 Firefox for Android 中存在错误。提示应该弹出,但不是。这是github中的一个相关问题:https ://github.com/mozilla-mobile/fenix/issues/14875 现在问题已经解决了。


推荐阅读