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

发布于 2021-06-10 07:26:43
然而,从这个来源,一个答案说“目前,没有办法通过JavaScript处理屏幕截图事件,手机的屏幕截图功能与浏览器没有任何联系。”
对于PC设备,您可以捕获所有可能的键盘组合来触发屏幕截图。例如,大多数windows计算机使用WIN + prt scr,Mac使用Shift + Command + 3。
在大多数情况下,还有许多其他的可能性来“尝试”防止截图,然而,您却冒着错误结果的风险,某些浏览器或特定的操作可能会触发这种结果。
编辑:使用剪贴板检测屏幕截图的:
使用JavaScript的本机剪贴板API,您可以从剪贴板获得最后一次复制的项目,如下所示。唯一可能的问题是,它提示用户请求访问剪贴板数据的权限。
navigator.clipboard.readText可以读取先前复制的内容。这是我发现的一种简单的检测方法。参考资料:
navigator.clipboard.readText()
.then(text => {
console.log('Pasted content: ', text);
})
.catch(err => {
console.error('Failed to read clipboard contents: ', err);
});发布于 2022-08-31 01:41:29
我相信大多数像Hulu和Netflix这样的商业视频网站要想做到这一点,就必须使用DRM (数字版权管理)来保护服务器上的视频内容。
我做了一些研究,我发现DRM是一种特殊的加密,它只允许在满足特定条件(即用户登录并支付订阅费用)时播放视频。Solid Digital有一篇非常好的文章,它深入地描述了这项技术,并提供了一个工作演示,您可以找到这里。
这个演示在Safari中对我不起作用,但它在Chrome中工作得很好,当我试图在屏幕上录制它时,播放器变成了空白,就像Netflix一样。
我有同样的问题,这是一个很好的答案,所以我希望这能帮助我!
https://stackoverflow.com/questions/67916474
复制相似问题