gpt4 book ai didi

javascript - 初始拒绝后在 JS 中重新提示相机权限

转载 作者:行者123 更新时间:2023-12-03 20:54:17 26 4
gpt4 key购买 nike

如果用户第一次拒绝,我想重新提示相机许可。

代码:

navigator.mediaDevices.getUserMedia({video: true, audio: false}).then(function(){
document.getElementById("submitbutton").style.display="inline";
}).catch(function(err){alert("Please provide consent.");location.reload();});

上面的代码在我第一次拒绝权限后重新加载页面。但是重新加载后,它不会提示许可,而是再次进入 .catch 块

我相信这是因为浏览器第一次存储被拒绝的 promise 并在页面重新加载时检查相同的 promise 。

有什么办法可以强制权限提示再次出现?

最佳答案

不,你不能。
这是浏览器设计者的一个故意决定,以防止网站因他们的(潜在侵入性)权限请求而变得烦人。一旦用户拒绝了权限请求,他们就必须深入浏览器设置以重新允许来自该域的请求。 Read more here.
然而,一个流行的技巧是在用户做了一些表明他们确实想要指定的功能之前不要请求许可。
因此,例如,您可能希望您的用户流程类似于:

  • Determine if user has already granted permission in the past without asking for it.
  • 如果没有,请显示一条消息,内容为“要使用此功能,我们需要访问您的摄像头和麦克风。单击此处授予权限。”
  • 一旦他们单击该确认,然后并且仅在那时,请求许可。

  • 如果您打算侵犯用户的隐私,最好解释一下您这样做的原因。

    关于javascript - 初始拒绝后在 JS 中重新提示相机权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61413038/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com