我正在开发一个机器人,我需要在WebView中打开一个摄像头。事实证明,我无法打开相机并出现以下错误(在台式机Chrome中):
由于功能政策,VideoCapture权限已被阻止 应用于当前文档。
我正在使用以下代码请求权限:
const constraints = {
advanced: [{
facingMode: "environment"
}]
};
navigator.mediaDevices
.getUserMedia({
video: constraints
}).catch(error => {
view.handlePermissionError(error);
})
.then(stream => {
console.log('Permission success');
this.videoBlock.src = window.URL.createObjectURL(stream);
this.videoBlock.width = document.body.clientWidth;
this.videoBlock.height = document.body.clientHeight;
this.canvas.width = document.body.clientWidth;
this.canvas.height = this.videoBlock.videoHeight;
this.setOkDimensions();
this.videoBlock.play();
});
很明显,一个类似的错误将其阻止在移动设备上的Messenger中。
有没有办法在Messenger机器人iframe中安全地请求许可?
编辑:使用HTTPS打开iframe