如何运行webRTC而不要求在Firefox中使用相机的权限

时间:2016-02-27 05:03:00

标签: javascript jquery google-chrome firefox webrtc

我的项目中有2页。 我要求允许使用webRTC在第一页上使用相机。

navigator.getUserMedia = navigator.getUserMedia || 

navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
    window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;

link_to_second_page != active   
    if (navigator.getUserMedia) {
        // Accepted.
link_to_second_page = active
    } else {
        // Not accepted.
    }

如果用户接受,则第二页的链接变为活动状态。 第二页上有一个视频聊天,也就是使用webRTC。 问题是,在Chrome上它的工作非常完美,因为它可以保存接受的权限#34;状态。但Firefox用户被要求获得两次许可。因为Firefox没有保存"许可被接受"状态。 是否有任何方法在第一页上只询问一次cam权限,并在第二页上启动webRTC?

1 个答案:

答案 0 :(得分:2)

说服您的用户在Firefox的权限提示中选择“始终共享”(假设为https)。一旦他们这样做,它就会像Chrome一样工作。

根据设计,Firefox的权限不那么自由,遗憾的是,网页无法将非持久权限从一个页面传送到另一个页面(或甚至从一个页面调用getUserMedia到另一个页面页面),没有用户同意每次通话。

假设您必须在第一页上使用相机,我能想到的唯一其他选项是通过重新填充DOM以某种方式将两个页面重新设计为一个,或者可能从公共iframe请求相机