javascript - 为什么 navigator.mediaDevices 在 localhost 和服务器中的工作方式不同?
问题描述
我目前正在做一个视频聊天项目。它使用navigator.mediaDevies
. 它工作正常并在 localhost 中返回MediaDevices
对象,但是当我将项目部署到服务器时,它返回undefined
. 我正在使用谷歌浏览器 v77。当然,它在本地主机和服务器中都是同一个浏览器。如何navigator.mediaDevices
工作?我认为它应该在同一个浏览器中返回相同的结果。但它在 localhost 和生产服务器中的工作方式不同。我应该怎么做才能在服务器中navigator.mediaDevices
返回MediaDevices
对象?(尝试了 Mozilla Firefox,但也没有用)
解决方案
在 localhost 上,浏览器允许减少安全措施。特别是,HTTPS 不是必需的。
对于任何其他来源,都需要 HTTPS 才能使用媒体设备 API。如果你检查你的开发者控制台,你无疑会看到一个错误显示。
推荐阅读
- r - 使用带有 stringr 函数的重置匹配令牌 \K
- c# - 创建使用模式但没有模式注册表 url 的 Kafka Producer
- php - 有没有办法使用 PHP 访问 json 对象元素
- python - 如何在 python 的另一列中的字符串值中从数据框中的一列中搜索字符串?
- sql - SQL 预期输入结束,但得到关键字 WHERE
- rpm - 使用 rpmbuild 创建 rpm 时源文件损坏
- selenium - Selenium:我应该在 find_element 中使用什么正确的对象类型和名称?
- python - 无法覆盖 FastAPI/FastAPi-Utils 中的依赖项
- angular - 注入新实例以测试 Angular(单例)服务持久化行为
- sql-server - 在第 5 位的列中提取子字符串 - SQL Server