知识库项目开发中遇到了一个问题,使用Recorder.js录音功能本地localhost访问正常,而部署至服务器外网访问时,出现了浏览器不支持的错误日志。找了一些资料后,才得以解决,特此记录。
if (
navigator.userAgent.toLowerCase().match(/chrome/) &&
location.origin.indexOf('https://') < 0
) {
alert(
'chrome下获取浏览器录音功能,因为安全性问题,需要在localhost或127.0.0.1或https下才能获取权限'
);
} else {
alert('无法获取浏览器录音功能,请升级浏览器或使用chrome');
}
由于Chrome遵循HTTPS协议,对于不安全的HTTP网站,浏览器本身自动禁用了麦克风等功能,且无法修改。而对于localhost访问开放。
网上有的解决方案是修改浏览器的目标值,但对于产品来说是不现实的,暂时采用的解决方案为为网站增加HTTPS协议,保证麦克风功能的正常使用。
————————————————
原文链接:https://blog.csdn.net/Tom_lose_Cat/article/details/100537492
网友评论