javascript - 部署站点时,我无权访问 navigator.mediaDevices。我该如何解决?

标签 javascript webrtc web-deployment surge.sh

我目前正在尝试使用 WebRTC api 并让一切在本地运行。 当我部署到 surge.sh 时,我无法访问 navigator.mediaDevices 对象。我该如何解决这个问题?

下面这行代码是我遇到问题的地方。

const stream = await navigator.mediaDevices.getDisplayMedia({video: {mediaSource: 'screen'}});

我收到以下错误消息:

TypeError: Cannot read property 'getDisplayMedia' of undefined

最佳答案

你需要 https。

navigator.mediaDevices 现在仅在 Chrome 的 SecureContext 中可用 74 , 火狐 68 ,并在 spec ,这意味着该对象将在不安全的上下文 (http) 中丢失。

关于javascript - 部署站点时,我无权访问 navigator.mediaDevices。我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56623954/

相关文章:

reactjs - 为什么 create-react-app 构建目录位于 .gitignore 中?

javascript - 为什么 Javascript 中 undefined variable 有时会计算为 false,有时会抛出未捕获的 ReferenceError?

javascript - 将 JSTL 值从列表中提取到 javascript 变量中

android - WebRtc/Android 的 minifyEnabled 启用和 proguard 问题用于发布打包

ios - 使用来自原始 PCM 流的 CMSampleTimingInfo、CMSampleBuffer 和 AudioBufferList

java - 如何在任何在线服务器上部署 Spring 框架后端和 Angular 2 前端应用程序?

database - 无法从 azure 上部署的 Web 应用程序保存到 azure 上部署的数据库

javascript - 保护网络应用程序免受信息泄露

javascript - 如果我使用基于 token 的身份验证,我还需要 session 吗

linux - 有没有适用于 Linux 的 WebRTC 库?