JSFiddle - React, Tailwind, and code Playground
HTML
<button id="btn">request gUM</button>
JavaScript
(async () => {
const camera_perm = await navigator.permissions.query( { name: 'camera' } );
camera_perm.onchange = (evt) => {
const allowed = camera_perm.state === "granted";
if( allowed ) {
alert('camera is now allowed');
}
else {
alert('camera is now blocked');
}
};
btn.onclick = (evt) => {
navigator.mediaDevices.getUserMedia( { video: true } );
}
})().catch( console.error );