在Firefox中检测getUserMedia

时间:2013-01-09 13:29:55

标签: html5 firefox getusermedia browser-feature-detection

我正在编写一个使用getUserMedia访问用户网络摄像头的网页应用,让他拍摄快照。

这会让他们优雅地降级,让他们手动上传文件,在这个用例中更烦人,但至少他们可以在其他浏览器上使用该应用程序。

我正在做的是:

  • 如果浏览器不支持getUserMedia,我会显示一个标语“嘿,去获得更好的浏览器”
  • 如果是,我显示“click Allow”,调用getUserMedia
  • 如果getUserMedia调用“失败”回调,我会显示“哎呀,这不起作用的效果。你点击了允许吗?”

现在,Firefox 支持支持getUserMedia,但您需要在“about:config”中手动启用魔术标记。如果该标志是关闭的(这是默认值),则getUserMedia存在,因此看起来浏览器确实支持它,但调用它不会执行任何(甚至不调用我的失败函数) )

这是最糟糕的可能性,因为我无法告诉用户任何有趣的事情。

有什么好方法可以干净利落地处理这个问题吗?如果旗帜关闭,任何让我知道Firefox 不支持相机的东西,基本上,没有我添加“如果Firefox,假设它不受支持,直到有一天我们有一天意识到该标志现在默认为“。

1 个答案:

答案 0 :(得分:3)

我在此提交了https://bugzilla.mozilla.org/show_bug.cgi?id=828839

我不确定在此期间给你的建议是什么,而不是不做UA嗅探。只需检查一个没有前缀的getUserMedia(它在其中存在的任何UA中都有更好的效果)并且不检查前缀 - 因为它是真实的mozGetUserMedia