
在开发 Web 应用时,尤其是涉及浏览器媒体设备(如摄像头或麦克风)的功能,我们常常会遇到一些浏览器安全策略相关的坑。今天我就来分享一个在 Streamlit 项目中遇到的典型问题:使用电脑摄像头拍照时,在本地环境一切正常,但部署到测试或生产环境后,却无法正常调用 navigator.mediaDevices 方法,导致报错。这个问题看似简单,但背后涉及浏览器的安全机制。如果开发的工具只是小范围的内部使用,又不想通过端口转发的方式增加使用成本,可以采用浏览器信任的方式:
这个方法本质上是告诉 Chrome 将特定 HTTP 地址视为“安全来源”,从而允许媒体访问。请注意,这只是开发测试用的 hack,不推荐在生产环境中推广给用户,因为它降低了浏览器安全性。步骤如下:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。