H5项目部署:解决http协议下navigator.mediaDevices为undefined的问题
在H5项目中,使用HTTP协议访问页面时,navigator.mediaDevices 对象返回 undefined 是一个常见问题。即使iframe使用https协议,此问题依然可能存在。本文提供一种无需依赖localhost或file协议的解决方案。
问题描述: 根页面使用HTTP协议,内嵌iframe使用HTTPS协议,但iframe内仍然无法访问 navigator.mediaDevices。
步骤:
- 在谷歌浏览器地址栏输入 chrome://flags/#unsafely-treat-insecure-origin-as-secure 并访问。
- 找到 “Insecure origins treated as secure” 选项(该选项通常会高亮显示)。
- 将该选项设置为“已启用”。
- 在输入框中输入你的HTTP域名(例如:你的域名.com)。
- 重启谷歌浏览器。
完成以上步骤后,谷歌浏览器将你的HTTP域名视为安全域名,从而允许访问 navigator.mediaDevices。此方法经过验证有效。 请注意,此方法修改了浏览器安全设置,仅在测试环境中使用,生产环境请谨慎操作,并优先考虑使用HTTPS协议。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END