
在H5应用部署过程中,开发者经常遇到navigator.mediaDevices返回undefined的情况,尤其是在HTTP页面嵌套HTTPS iframe的场景下,即使在iframe内也无法获取媒体权限。 问题通常出现在HTTP根页面嵌入HTTPS iframe的结构中,localhost、HTTPS和file://环境下的解决方案在此无效。
解决方法:修改Chrome浏览器安全策略。
步骤如下:
访问Chrome浏览器实验性功能页面: 在地址栏输入chrome://flags/#unsafely-treat-insecure-origin-as-secure 并回车。
启用“将不安全来源视为安全”: 找到“将不安全来源视为安全”选项(Insecure origins treated as secure),将其设置为“已启用”。
添加HTTP域名: 在该选项下方的文本框中,输入你的HTTP域名。
重启浏览器: 完成设置后,重启Chrome浏览器使更改生效。
通过以上步骤,你的HTTP页面应该能够通过navigator.mediaDevices正常访问媒体设备了。此方法经验证有效。 注意: 此方法修改了浏览器安全策略,仅用于开发和测试环境,不建议在生产环境中使用,因为它会降低安全性。 生产环境下,应采用HTTPS协议部署整个应用。
以上就是H5部署后,如何解决页面video媒体获取navigator.mediaDevices获取不到的问题?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号