首页 > 解决方案 > 如何以编程方式检查用户是否允许我的应用在 Google Chrome 中“在此设备上存储文件”?

问题描述

当我的应用在 Google Chrome 中打开时,Chrome 会提示用户授予应用存储文件的权限(截图)。如何以编程方式(使用 JavaScript)检查用户是否已授予此类访问权限?

我的问题的动机是,目前,如果用户不允许访问,并继续尝试使用该应用程序,它会在没有任何描述性通知给用户的情况下失败。实际上,该应用只是无限期地显示应用的加载屏幕。因此,在我的代码中,我希望检查用户是否已授予对该存储的访问权限——如果没有,那么我将确保向用户显示有用的消息。

我查看了以前的 Stack Overflow 问题,但没有找到这个特定的问题。

另外,这个 Chrome 提示符引用的是什么存储空间?临时和持久存储(如此所述)?

谢谢。

标签: javascriptfilegoogle-chromelocal-storage

解决方案


您可以通过检查来检查为 Chrome 设置了哪些权限chrome.permissions

chrome.permissions.contains({
  permissions: ['tabs'],
  origins: ['http://www.google.com/']
}, function(result) {
  if (result) {
    // The extension has the permissions.
  } else {
    // The extension doesn't have the permissions.
  }
});

您也可以使用一个实验性的 Web API,因为它在 Chrome 中受支持。

navigator.permissions.query(PermissionDescriptor).then(function(permissionStatus) { ... })

资料来源:


推荐阅读