4

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

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

我正在做的是:

  • 如果浏览器不支持 getUserMedia,我会显示一个标志,上面写着“嘿,去换个更好的浏览器”
  • 如果是,我显示“单击允许”,调用 getUserMedia
  • 如果 getUserMedia 调用“失败”回调,我会显示“哎呀,这不起作用。您是否单击了允许?”

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

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

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

4

1 回答 1

3

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

除了不进行 UA 嗅探之外,我不确定在此期间会给您什么建议。只需检查一个无前缀的getUserMedia(在它存在的任何 UA 中都可以更好地工作),并且不要检查有前缀的,因为它是真正的实验mozGetUserMedia

于 2013-01-10T07:34:44.353 回答