javascript - 如何以编程方式检查用户是否允许我的应用在 Google Chrome 中“在此设备上存储文件”?
问题描述
当我的应用在 Google Chrome 中打开时,Chrome 会提示用户授予应用存储文件的权限(截图)。如何以编程方式(使用 JavaScript)检查用户是否已授予此类访问权限?
我的问题的动机是,目前,如果用户不允许访问,并继续尝试使用该应用程序,它会在没有任何描述性通知给用户的情况下失败。实际上,该应用只是无限期地显示应用的加载屏幕。因此,在我的代码中,我希望检查用户是否已授予对该存储的访问权限——如果没有,那么我将确保向用户显示有用的消息。
我查看了以前的 Stack Overflow 问题,但没有找到这个特定的问题。
另外,这个 Chrome 提示符引用的是什么存储空间?临时和持久存储(如此处所述)?
谢谢。
解决方案
您可以通过检查来检查为 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) { ... })
资料来源:
推荐阅读
- postgresql - 如何理解... Select 1 from ... SQL 中的表达式
- javascript - Webpack 对使用过的模块应用 tree-shaking
- reactjs - IonSelect 不想显示 IonSelectOption 警报
- docker - Kubernetes 中的 Docker 容器实时迁移
- firebase - 错误:没有为“对象”类型定义吸气剂“文档”。(undefined_getter at [myapp] lib\screens\home.dart:36)
- javascript - TypeError:当我想向我的数据库添加新元素时,无法读取 null 的属性“addEventListener”
- pymc3 - 如何使用 pymc3 对分类效果建模
- html - 如何在 CSS 中创建编号标记?
- python - 我对 Selenium NoSuchElementException (Python) 有疑问
- c# - CORS没有成功?我怎样才能防止这种情况?