前言:
用web端写一个录音功能时,使用的WEB API MediaDevices
的MediaDevices.getUserMedia()
等几个方法。
写好之后在本地运行没有问题,上传至服务器后,访问无法运行, 并报错TypeError: Cannot read property 'getUserMedia' of undefined....
原因:
像MediaDevices.getUserMedia()
方法需要在安全协议是HTTPS或file:///URL方案加载的页面,或者是从加载的页面 localhost(本地)。
即,如果像挂到服务器上(远程)使用,就必须在HTTPS的安全传输协议下才能调用成功。
解决办法
通过给对应的域名配置SSL证书之后,才能通过HTTPS访问该域名及其域名下的目录
(注:www.baidu.com和m.baidu.com,理论上需要申请两个SSL证书的,有的SSL证书购买时可同时申请对应多个域名,SSL配置的时候也要分开配置)
免费申请及配置SSL证书请看这篇:https://blog.csdn.net/qq_40894812/article/details/113261172