通过浏览器调用摄像头失败:NotSupportedError Only secure origins are allowed
错误报告
NotSupportedError Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).
[Deprecation] getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your
application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
错误原因
新发布的Webkit内核的浏览器(chrome谷歌浏览器、QQ浏览器)控制台会有这个提示,基于安全隐私问题,现在Webkit内核的浏览器共享视频、语音、经纬度坐标等必须通过https形式访问!也就是说须将http访问形式改造成https,如果项目/产品是基于通过Webkit内核的浏览器访问,可以参考 久久经验网 此前发布的经验分享:
经测试,IE浏览器、Firefox火狐浏览器均能正常调用。下面分享调用摄像头的程序测试代码(参考自segmentfault,作者wangsidney)。
程序代码
HTML代码
当前浏览器不支持video
拍照
Javascript代码
//访问用户媒体设备的兼容方法
function getUserMedia(constrains,success,error){
if(navigator.mediaDevic