-3

我的 laravel webapp 中有一个表单,用户需要通过网络摄像头添加个人资料图片。在本地主机(安全源)中开发时,它工作正常,但现在当我尝试使用我的 IP 地址访问它时,它似乎不起作用。

我在开发项目时使用“navigator.mediaDevices.getUserMedia”访问网络摄像头,但现在当网站上线(或通过我的 IP 进行测试)时,chrome 表示“getUserMedia() 不再适用于不安全的来源”。我也试过 Webcam.js 但同样遇到了同样的错误。

navigator.mediaDevices.getUserMedia(constraints).
        then(handleSuccess).catch(handleError);

控制台中的错误输出:

[弃用] getUserMedia() 不再适用于不安全的来源。要使用此功能,您应该考虑将应用程序切换到安全源,例如 HTTPS。有关更多详细信息,请参阅https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

4

2 回答 2

0

从 Chrome 47 开始,仅允许来自安全来源的 getUserMedia() 请求:HTTPS 或 localhost。

你检查过这个页面吗?我认为您正在使用HTTP。我想切换到 HTTPS 并进行测试。 https://developers.google.com/web/updates/2015/10/chrome-47-webrtc?hl=en

于 2019-01-09T07:37:25.300 回答
0

正如您从文档中看到的那样,chrome 需要一个安全的上下文才能使用它:

在此处输入图像描述

所以你必须切换到https在 chrome 中测试它

于 2019-01-09T07:38:50.140 回答