【发布时间】:2013-01-09 13:29:54
【问题描述】:
我正在编写一个网络应用程序,它使用 getUserMedia 访问用户的网络摄像头并让他拍摄快照。
这会优雅地降级,让他们手动上传文件,这在这种用例中更烦人,但至少他们可以在其他浏览器上使用该应用程序。
我正在做的是:
- 如果浏览器不支持 getUserMedia,我会显示“嘿,换个更好的浏览器”的标志
- 如果是,我会显示“单击允许”,调用 getUserMedia
- 如果 getUserMedia 调用“失败”回调,我会显示“哎呀,这不起作用。您是否单击了允许?”
现在,Firefox确实支持 getUserMedia,但您需要在“about:config”中手动打开一个魔法标志。但是,如果该标志关闭(这是默认设置),则 getUserMedia 存在,因此看起来浏览器确实支持它,但调用它并没有做任何事情 (甚至没有调用我的失败函数)
这是所有可能性中最糟糕的,因为我无法告诉用户任何真正有趣的事情。
有什么好的方法可以干净地处理这个问题吗?任何让我知道如果标志关闭,Firefox 不支持相机的东西,基本上,没有我添加“如果 Firefox,假设它不受支持,直到我们中的一个人有一天意识到该标志现在默认开启”。
【问题讨论】:
标签: html firefox getusermedia browser-feature-detection