我的项目中有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?
答案 0 :(得分:2)
说服您的用户在Firefox的权限提示中选择“始终共享”(假设为https
)。一旦他们这样做,它就会像Chrome一样工作。
根据设计,Firefox的权限不那么自由,遗憾的是,网页无法将非持久权限从一个页面传送到另一个页面(或甚至从一个页面调用getUserMedia
到另一个页面页面),没有用户同意每次通话。
假设您必须在第一页上使用相机,我能想到的唯一其他选项是通过重新填充DOM以某种方式将两个页面重新设计为一个,或者可能从公共iframe请求相机