📜  错误:navigator.mediaDevices 未定义.当前文档似乎未安全加载. (1)

📅  最后修改于: 2023-12-03 15:12:33.652000             🧑  作者: Mango

错误:navigator.mediaDevices 未定义

本错误通常出现在使用浏览器的网页界面中,表示浏览器不支持“navigator.mediaDevices”方法或该方法没有被正确加载。

原因
  • 不同浏览器对WebRTC(Web实时通信)的支持程度不同,导致navigator.mediaDevices方法无法被正确加载。
  • 网页未使用HTTPS协议,而是使用了HTTP协议,浏览器注册的navigator.mediaDevices对象未能被正确加载。
解决方案
  1. 检查浏览器是否支持WebRTC,并且确保没使用过早版本的浏览器。如果您使用的是较早版本的浏览器,请更新到最新版本并重试。针对该特定情况,您可以在您的JavaScript代码中添加以下检查代码:
if (navigator.mediaDevices === undefined) {
  navigator.mediaDevices = {};
}

这将检查navigator.mediaDevices是否被浏览器支持,如果未被支持,则将其设置为空对象。使用此代码后,您可以安全地使用navigator.mediaDevices来调用设备(如相机和话筒)。

  1. 如果您的网站未使用HTTPS,请将其升级为HTTPS协议。navigator.mediaDevices需要在HTTPS协议下才能被正确加载。
参考资料