【问题标题】:Detecting getUserMedia in Firefox在 Firefox 中检测 getUserMedia
【发布时间】:2013-01-09 13:29:54
【问题描述】:

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

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

我正在做的是:

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

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

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

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

【问题讨论】:

    标签: html firefox getusermedia browser-feature-detection


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的错误报告。我不是 UA 嗅探,但我 am 通过“moz”前缀检测 Firefox。不幸的是,在 Firefox 中确实存在 getUserMedia 的无前缀版本,即使标志关闭,并且行为与我描述的一样,所以除了手动检测 Firefox 并对其进行特殊处理之外,我没有太多选择。谢谢!
    • 有趣,显然这在 FF20 中修复了。这是值得期待的事情
    • 在我的测试和代码检查中,Firefox 中不存在无前缀版本。如果设置了任何前缀版本,是否有一些脚本隐藏在某处有助于设置无前缀版本?
    • 哦,你是对的!我拥有的数百万个 jQuery 插件中的一些正在这样做......哦,天哪。感谢您指出这一点!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    相关资源
    最近更新 更多