首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测js的屏幕截图?

如何检测js的屏幕截图?
EN

Stack Overflow用户
提问于 2021-06-10 07:19:50
回答 2查看 7.6K关注 0票数 4

不知道他们是如何做到的,但是hulu已经找到了一种方法来检测截图是否被拍摄或者屏幕记录是否打开,并将视频背景设置为黑色。我去找麦克奥斯。这都是我能知道的前端,但是他们是怎么做到的呢?

EN

回答 2

Stack Overflow用户

发布于 2021-06-10 07:26:43

可能重复的如何用Javascript检测“屏幕上的镜头”

然而,从这个来源,一个答案说“目前,没有办法通过JavaScript处理屏幕截图事件,手机的屏幕截图功能与浏览器没有任何联系。”

对于PC设备,您可以捕获所有可能的键盘组合来触发屏幕截图。例如,大多数windows计算机使用WIN + prt scr,Mac使用Shift + Command + 3

在大多数情况下,还有许多其他的可能性来“尝试”防止截图,然而,您却冒着错误结果的风险,某些浏览器或特定的操作可能会触发这种结果。

编辑:使用剪贴板检测屏幕截图的

使用JavaScript的本机剪贴板API,您可以从剪贴板获得最后一次复制的项目,如下所示。唯一可能的问题是,它提示用户请求访问剪贴板数据的权限。

navigator.clipboard.readText可以读取先前复制的内容。这是我发现的一种简单的检测方法。参考资料:

API接口

代码语言:javascript
复制
navigator.clipboard.readText()
  .then(text => {
    console.log('Pasted content: ', text);
  })
  .catch(err => {
    console.error('Failed to read clipboard contents: ', err);
  });
票数 3
EN

Stack Overflow用户

发布于 2022-08-31 01:41:29

我相信大多数像Hulu和Netflix这样的商业视频网站要想做到这一点,就必须使用DRM (数字版权管理)来保护服务器上的视频内容。

我做了一些研究,我发现DRM是一种特殊的加密,它只允许在满足特定条件(即用户登录并支付订阅费用)时播放视频。Solid Digital有一篇非常好的文章,它深入地描述了这项技术,并提供了一个工作演示,您可以找到这里。

这个演示在Safari中对我不起作用,但它在Chrome中工作得很好,当我试图在屏幕上录制它时,播放器变成了空白,就像Netflix一样。

我有同样的问题,这是一个很好的答案,所以我希望这能帮助我!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67916474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档