javascript - 如何防止网络上的屏幕截图? [2020]

标签 javascript web

在您尝试之前将此标记为重复问题
我知道这是可能的,所有其他问题都是旧的。这就是为什么这个问题不同:

  • Netflix 已经能够做到这一点。尝试流式传输Netflix,打开字幕,您可以看到如果您尝试截屏,则会出现字幕,但不会出现视频。
  • 用 OBS 再试一次。当您使用桌面/窗口捕获时,您可以看到来自 Netflix 的视频在浏览器中播放,但同时 OBS 无法将其拾取。
  • This Wordpress plugin (我没有亲自尝试过,所以不确定它是否有效,但评论很有希望)

  • 所以现在我已经向你保证这不是 2014 年的问题,有没有新的方法可以避免在网络上截屏?我一直认为这是不可能的,但看起来某处可能有一个 API,而且多年来没有人问过这个问题。这对于防止在我自己的 JS 网站中捕获很有用,所以我只是想知道如何自己实现它。谢谢。

    最佳答案

    您最初的假设是正确的,这是不可能的。 Netflix 的例子不同,因为它并没有阻止网页的截图(这就是字幕仍然被捕获的原因),而是阻止了视频流,它嵌入在网页中,但实际上不是网页的一部分。您的示例中未捕获视频,因为它受 Encrypted Media Extensions 保护.不过,这也意味着视频不能在任何浏览器中播放,只能在支持 EME 的浏览器中访问。

    因此,“如何防止网络上的屏幕截图”的答案是“说服每个浏览器制造商在他们的浏览器中包含允许您控制屏幕截图的功能,然后只让支持该功能的浏览器可以访问您的网站” (这基本上就是 Netflix 为视频所做的)。

    关于javascript - 如何防止网络上的屏幕截图? [2020],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61764715/

    相关文章:

    javascript - 如何使用 Immutable.js 在嵌套 Map 中添加新的键/值对

    Javascript 或 RoR 适用于各种应用程序?

    javascript - 切换开关在 chrome 中不起作用,但在 firefox 中起作用

    javascript - 通过 javascript 按整数值对元素进行排序的最佳方法

    javascript - jQuery 避免切换 div 在特定区域时隐藏

    javascript - JavaScript 库中的前导分号有什么作用?

    javascript - 创建网站时指定引用内容的文档

    php - 使用 1 个远程开发服务器且没有本地开发环境的 Web 开发团队中的 git

    javascript - 为 <video> 对象设置缓冲

    python - 是否可以在没有 "any"框架的情况下使用 python 编写 Web 应用程序?