检查用户是否授予剪贴板权限?
check whether user granted Clipboard permisssion or not?
如何使用javascript检查用户是否授予剪贴板读取权限?
我正在尝试获取指示当前剪贴板权限状态的布尔值。
您可以使用 Permissions API:
检查您是否有权访问剪贴板
await navigator.permissions.query({ name: 'clipboard-read' });
// or 'clipboard-write' for permission to write
// sample result: {state: 'granted'}
剪贴板读取权限有3种状态:授予、拒绝或提示“既未拒绝也未授予”。
因此,您的代码应如下所示:
const queryOpts = { name: 'clipboard-read', allowWithoutGesture: false };
const permissionStatus = await navigator.permissions.query(queryOpts);
// Will be 'granted', 'denied' or 'prompt':
console.log(permissionStatus.state);
// Listen for changes to the permission state
permissionStatus.onchange = () => {
console.log(permissionStatus.state);
};
代码引用:https://web.dev/async-clipboard/
所以根据上面的代码,你可以写一个 returns true 或 false 的函数,比如:
// you pass permissionStatus.state to this function
const checkClipboardPermission = (state) => {
if(state == "granted"){
return true;
}
else if(state == "denied"){
return false;
}
else {
return false;
}
}
如何使用javascript检查用户是否授予剪贴板读取权限?
我正在尝试获取指示当前剪贴板权限状态的布尔值。
您可以使用 Permissions API:
检查您是否有权访问剪贴板await navigator.permissions.query({ name: 'clipboard-read' });
// or 'clipboard-write' for permission to write
// sample result: {state: 'granted'}
剪贴板读取权限有3种状态:授予、拒绝或提示“既未拒绝也未授予”。
因此,您的代码应如下所示:
const queryOpts = { name: 'clipboard-read', allowWithoutGesture: false };
const permissionStatus = await navigator.permissions.query(queryOpts);
// Will be 'granted', 'denied' or 'prompt':
console.log(permissionStatus.state);
// Listen for changes to the permission state
permissionStatus.onchange = () => {
console.log(permissionStatus.state);
};
代码引用:https://web.dev/async-clipboard/
所以根据上面的代码,你可以写一个 returns true 或 false 的函数,比如:
// you pass permissionStatus.state to this function
const checkClipboardPermission = (state) => {
if(state == "granted"){
return true;
}
else if(state == "denied"){
return false;
}
else {
return false;
}
}