22 lines
1.0 KiB
TypeScript
22 lines
1.0 KiB
TypeScript
export async function checkCameraPermissionState(): Promise<PermissionState | null> {
|
|
if (!navigator.permissions || !navigator.permissions.query) {
|
|
// Permissions API не поддерживается
|
|
console.warn("Permissions API не поддерживается в этом браузере.");
|
|
return null;
|
|
}
|
|
|
|
try {
|
|
const permissionStatus = await navigator.permissions.query({ name: 'camera' as PermissionName });
|
|
console.log(`Статус разрешения камеры: ${permissionStatus.state}`);
|
|
|
|
// Можно добавить обработку изменения статуса
|
|
// permissionStatus.onchange = () => {
|
|
// console.log(`Статус разрешения камеры изменился: ${permissionStatus.state}`);
|
|
// };
|
|
|
|
return permissionStatus.state; // 'granted', 'denied', 'prompt'
|
|
} catch (error) {
|
|
console.error("Ошибка при проверке разрешения камеры:", error);
|
|
return null;
|
|
}
|
|
} |