javascript - 网络权限 API
问题描述
在https://developer.mozilla.org/en-US/docs/Web/API/Permissions中有一个 Browser Support 表表明某些浏览器不支持 Permissions API
另外据我了解,当用户拒绝权限请求时,无法再次请求权限
我需要创建两个函数checkPermission
,当我们有权限时grantPermission
,这些函数返回承诺,没有权限时返回承诺resolved
rejected
- 对于不支持 Permissions API 的浏览器,我该怎么办?如果我返回
rejected
承诺可能不需要该浏览器的许可!如果我返回resolved
可能是我的应用程序运行错误! - 是否有任何库包装的权限 api?
解决方案
为了检查浏览器是否支持权限:
if(!navigator.permissions){
// Browser does not support permissions
}
此外,如果您使用 Promise,reject 和 resolve 方法有一个可选参数来传递一些数据:
function testPromise() {
return new Promise((resolve, reject) => {
if (!navigator.permissions) {
reject('Unsupported Browser');
} else {
resolve('Supported Browser')
}
});
}
testPromise().then((resolved, rejected) => {
if (rejected) {
console.log(rejected);
return;
}
console.log(resolved);
})
推荐阅读
- python - Ray 比 Python 和 .multiprocessing 慢得多
- jenkins - 在发布 GitHub 事件时触发 Jenkins 作业
- python-3.x - 有没有办法在比较整数输入时比较 IF 语句中的字符串?
- python - python代码无法从tensorflow解析gFile
- c# - 一次从文件中读取内容...静态还是单例?
- algorithm - 图像处理算法的标准
- javascript - Lodash 克隆数组与扩展运算符
- file-upload - 使用 FtpWebRequest 上传文件后图像损坏
- r - 变量可以在函数中声明为全局吗?
- c - 使用 POSIX 系统函数在 C 中实现 rev 命令