[英]FileSystemHandle.requestPermission DOMException: User activation is required to request permissions
我的网站需要一个打开的本地文件功能,所以我在我的代码中使用文件系统访问 API。 当从本地打开的文件被我的网络编辑并需要保存到原始文件时。 我发现它没有权限。 因此,我找到了请求文件句柄权限的方法,如下所示:
async function verifyPermission(fileHandle: any, readWrite: boolean) {
const options = {
mode: 'readwrite',
};
let isPermit = false;
// Check if permission was already granted. If so, return true.
if ((await fileHandle.queryPermission(options)) === 'granted') {
isPermit = true;
}
if ((await fileHandle.requestPermission(options)) === 'granted') {
isPermit = true;
}
return isPermit;
}
但是当我执行到fileHandle.requestPermission(options)
它控制台错误
Uncaught (in promise) DOMException: User activation is required to request permissions.
我缺少什么? 谢谢你的QQ
您始终可以查询文件的权限,但请求需要用户手势(例如单击按钮)。 规范中概述了这一点(重点是我的):
如果此句柄的读取权限状态不是“提示”,则将直接返回该状态。 但是,如果是“提示”,则需要用户激活,这将向用户显示确认提示。 然后根据用户对提示的响应返回新的读取权限状态。
您需要在实现中分离查询和请求权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.