如何在javascript下降后重新申请javascript中摄像机或麦克风的许可。例如,如果在用户不同意的情况下拒绝重新请求权限
r1zhe5dt1#
您不能(因为这可能会导致权限提示垃圾邮件)。用户必须在浏览器设置中重置或更改此设置。当从getusermedia获取notallowederror(这是一个相当复杂的过程)时,您需要引导他们了解这一点,或者您事先仔细解释了该过程,避免在大多数情况下单击“拒绝”。
2ekbmq322#
当用户拒绝访问时,您不能“重新请求”。但是,您可以通过收听 PermissionStatus.onchange 事件(即在基于chromium的浏览器中,firefox仍然不支持 camera 价值)。所以你会这样做:
PermissionStatus.onchange
camera
// after you caught denial const status = await navigator.permissions.query({name: "camera"}); status.addEventListener("change", (evt) => { // request again navigator.mediaDevices.getUserMedia({ video: true }) .then(handleStream) .catch(handleDeny); }, { once: true });
2条答案
按热度按时间r1zhe5dt1#
您不能(因为这可能会导致权限提示垃圾邮件)。
用户必须在浏览器设置中重置或更改此设置。当从getusermedia获取notallowederror(这是一个相当复杂的过程)时,您需要引导他们了解这一点,或者您事先仔细解释了该过程,避免在大多数情况下单击“拒绝”。
2ekbmq322#
当用户拒绝访问时,您不能“重新请求”。
但是,您可以通过收听
PermissionStatus.onchange
事件(即在基于chromium的浏览器中,firefox仍然不支持camera
价值)。所以你会这样做: