网站内容复制(为什么CSS能禁止复制?CSS当中提供了一个属性的限制)

优采云 发布时间: 2022-03-20 20:16

  网站内容复制(为什么CSS能禁止复制?CSS当中提供了一个属性的限制)

  本文内容仅供学习和技术研究之用。请不要将其用于邪恶。

  白焕城

  在部分网站s上,部分网站s会因版权或成长需求增加限制,防止网站内内容复制。作为内容创作者,我支持(出于版权原因必须选择)这样的行为。但另一方面,我也需要自己做一些笔记。对于长段落,显然我更适合直接复制原作者的内容。因此,我也不得不研究如何打破这种风格的束缚。

  为什么 CSS 禁止复制?

  CSS提供了一个属性user-select,可以用来设置是否可以选择文本。对于非技术人员,是不能选择的,自然不能用Ctrl+C来复制内容。在这种情况下,对于非技术人员,可以实现良好的复制保护。

  但是,CSS 反复制并不是很常见。我见过的最多的是在 Javascript 中禁用复制和 Devtools 的方法。

  该属性的值有以下五种,其中none用于防止复制。设置为None后,即使你的内容是文本内容,也无法选中,也无法直接使用Ctrl+C完成复制。text是选择文本,其他几个属性,可以在MDN中找到。

  user-select: none;

user-select: auto;

user-select: text;

user-select: contain;

user-select: all;

  使用 Stylish 打破 CSS 限制

  类似于油猴脚本,可以在目标页面加载Javascript文件,Stylish可以在目标页面加载CSS,根据CSS计算权重,这样我们的代码就可以执行了。基于这个能力,我们可以覆盖原网页上的样式,将user-select的值修改为我们需要的值。

  1. 安装时尚

  前往 Google Chrome 扩展商店安装 Stylish

  2. 找到无法复制的文字对应的样式类

  在浏览器中打开开发者工具,找到需要复制的文本元素,在右侧调试工具中切换到“计算样式”,可以在里面找到user-select属性,就可以看到对应的样式类选择器,重复选择器。

  

  3. 在Stylish中新建一个样式文件,并在里面添加对应样式类的代码

  因为我们只需要修改副本,所以只需要对对应属性的值进行简单的修改即可。

  

  4.设置生效网站

  为了减少受此代码影响的页面,可以在下面的应用程序对象中设置有效的网站,从而减少对其他站点的影响。

  

  总结

  这个CSS中禁止复制的研究帮我节省了很多研究时间,有效的提高了我的研究效率,真是太好了!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线