宙斯浏览器扫码失败需逐级排查系统权限、浏览器缓存、https安全上下文、第三方干扰及网站单独限制。先确认系统相机权限已授予并设为“始终允许”,再清除浏览器摄像头权限缓存,确保目标网页使用https,禁用可能干扰的扩展或独占摄像头的应用,最后检查并修正特定网站的相机权限设置。

宙斯浏览器点击扫码图标后弹出“无法访问相机”“Permission denied”,或取景框黑屏、卡在加载状态,说明系统层、浏览器层、网页上下文三处权限链路中至少有一环被阻断,必须按真实故障路径逐级验证并重置。
确认系统级相机权限已真正开启
安卓/iOS/macOS/Windows对相机的管控存在层级嵌套,仅打开“允许”不等于实际生效。进入手机【设置】→【应用管理】→【宙斯浏览器】→【权限】→【相机】;确认开关为开启状态,且右侧显示“已授予”。【若显示“仅在使用时允许”,请改为“始终允许”——部分安卓13+机型在后台扫码时会因该限制拒绝唤醒摄像头】
若权限列表中未出现“宙斯浏览器”,说明它从未触发过相机请求。此时需手动注册:打开宙斯浏览器→访问 https://webcamtests.com → 点击“Test Camera”按钮→等待系统弹窗出现→点“允许”。
macOS用户注意:【系统偏好设置 → 隐私与安全性 → 相机】和【麦克风】两项必须同时开启;Windows用户则需在【设置 → 隐私 → 摄像头】中确保顶部总开关已开,并在下方应用列表中勾选宙斯浏览器。
清除浏览器内摄像头权限缓存并强制重枚举
浏览器内部设备列表缓存可能过期,导致 getUserMedia() 无法识别当前可用摄像头。这一步操作起来很简单,但跳过会导致后续所有网站授权失败。
第一步:关闭所有宙斯浏览器窗口,包括后台进程(Android上长按最近任务→滑掉宙斯;Windows可在任务管理器中结束 zeus.exe 进程)。
第二步:重新启动宙斯浏览器,不要立即访问问题页面,先在地址栏输入 zeus://settings/content/camera 并回车,进入摄像头权限管理页。
第三步:点击【清除全部摄像头权限】→确认。这会清空浏览器对所有网站的设备授权记忆,避免旧设备ID失效引发 NotFoundError。
第四步:重启后访问 https://webcamtests.com,首次加载时务必手动点击“允许”,强制触发设备重枚举。
检查目标网页是否满足HTTPS安全上下文
宙斯浏览器严格遵循 WebRTC 安全规范,【HTTP 协议下完全禁止调用摄像头,且不提供任何提示】。若你正在访问 http://test.local 或 192.168.1.100 这类地址,必须升级为 HTTPS 环境。
方法一(开发调试):在地址栏输入 zeus://flags → 搜索关键词 insecure → 找到 “Insecure origins treated as secure” → 设为 Enabled → 在下方输入框粘贴你的 HTTP 地址(如 http://dev.test)→ 点击右下角【Relaunch】重启浏览器。
方法二(生产环境):部署合法 SSL 证书,或使用 mkcert 工具生成本地可信证书,将服务器绑定到 https://localhost 或 https://yourdomain.test。
排查第三方脚本与扩展干扰
某些用户脚本(如广告屏蔽类)会注入 navigator.mediaDevices = null 或重写 getUserMedia 方法,直接切断调用链。
方法一:临时禁用 Tampermonkey/Violentmonkey —— 地址栏输入 zeus://extensions → 找到脚本管理器 → 关闭其启用开关 → 刷新页面再试扫码。
方法二:关闭 Zoom、OBS、腾讯会议等可能独占摄像头的其他应用。Windows/macOS 可通过活动监视器或任务管理器确认摄像头是否被占用。
验证是否为特定网站被静默阻止
如果你只在某个网站(如钉钉网页版、腾讯会议)扫码失败,而其他网站正常,说明该网站已被单独设为“阻止”。
点击右上角三点菜单 → 设置 → 隐私与安全 → 网站设置 → 相机 → 向下滚动查看“已配置权限的网站”列表 → 找到目标网址(如 https://meet.tencent.com)→ 若状态为“拒绝”,点击该条目 → 在弹出页中选择“允许” → 点击“保存”。
若网站未出现在列表中,点击右下角“添加”按钮 → 完整输入其网址(必须含 https:// 协议头)→ 选择“允许”。











