我正在编写一个网络应用程序,它使用 getUserMedia 访问用户的网络摄像头并让他拍摄快照。
这会优雅地降级,让他们手动上传文件,这在这个用例中更烦人,但至少他们可以在其他浏览器上使用该应用。
我正在做的是:
- 如果浏览器不支持 getUserMedia,我会显示一个标志,上面写着“嘿,去换个更好的浏览器吧”
- 如果是,我显示“单击允许”,调用 getUserMedia
- 如果 getUserMedia 调用“失败”回调,我会显示“哎呀,那没有用。你点击允许了吗?”
现在,Firefox 确实 支持 getUserMedia,但您需要在“about:config”中手动打开一个魔法标志。但是,如果该标志关闭(这是默认设置),则 getUserMedia 存在,因此看起来浏览器确实支持它,但调用它不会做任何事情(甚至不调用我的失败函数)
这是所有可能性中最糟糕的一种,因为我无法真正告诉用户任何有趣的事情。
有什么好的方法可以干净利落地处理这个问题吗?任何让我知道如果标志关闭,Firefox 不 支持相机的任何事情,基本上,没有我添加“如果 Firefox,假设它不受支持,直到有一天我们中的一个人意识到该标志现在默认打开。
最佳答案
我提交了 https://bugzilla.mozilla.org/show_bug.cgi?id=828839对此。
除了不进行 UA 嗅探外,我不确定在此期间可以给您什么建议。只需检查未加前缀的 getUserMedia
(它在它所在的任何 UA 中都能更好地工作)并且不要检查有前缀的,因为它是真正实验性的 mozGetUserMedia
。
关于html - 在 Firefox 中检测 getUserMedia,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236336/