业界动态
前端er怎样操作剪切复制以及禁止复制+破解等
2024-12-27 15:18

有时候我们经常会碰到这些场景:玩掘金、知乎的时候复制一段文字,总是会在内容后面加上一些版权信息,以及像小说网站等都有禁止选中,禁止复制这种功能,还有点击自动复制账号的功能。

前端er怎样操作剪切复制以及禁止复制+破解等

我也经常遇到这些场景,有时候会去想这后面到底是怎么做,周末趁着有空去研究了一下,然后发现这些都跟操作剪贴板有关系,并且都不难,了解一下基本都知道怎么做了,整理分享一波给大家。

个人博客了解一下:obkoro1.com


  • API介绍
  • 实现类知乎/掘金复制大段文本添加版权信息
  • 实现类起点网的防复制功能
  • 破解防复制
  • 点击复制功能

  1. 发生复制操作时触发;
  2. 发生剪切操作时触发;
  3. 发生粘贴操作时触发;
  4. 每个事件都有一个before事件对应:、、;

这几个before一般不怎么用,所以我们把注意力放在另外三个事件就可以了。

触发条件:

  1. 鼠标右键菜单的、、;

  2. 使用了相应的键盘组合键,比如:、;

    就算你是随便按的,也会触发事件。高程中介绍在、和中,这几个before事件只会在真实会发生剪贴板事件的情况下触发,IE上则可以触发before。我实际测试的时候最新版也会乱按也会触发,所以限制应该是在早一点的版本上。

    so 想说的是:before这几个事件最好不要用,有关于剪切板的处理最好放在、、上面。

使用姿势:

以copy为例:


上面是在上全局监听的,然而很多人不知道的是,我们还可以为某些dom单独添加剪切板事件:


其他事件也是一样的,这里就不赘述了。

兼容:

不同浏览器,所属的对象不同:在IE中这个对象是对象的属性,在、和中,这个对象是相应的对象的属性。所以我们在使用的时候,需要做一下如下兼容:


对象方法:

对象有三个方法: 、、

  • 访问剪切板中的数据

    参数: 接受一个参数,即要取得的数据的格式。

    在复制、剪切、粘贴触发的事件的数据:

    实际上在chorme上测试只有粘贴的时候才能用访问到数据,用法如下:

    要粘贴的数据:

    
    

    被复制/剪切的数据:

    在复制和剪切中的数据,需要通过来访问:

    
    
  • 修改剪切板中的数据

    参数:第一个参数也是,第二个参数是要放在剪切板中的文本。

    剩下的留在下面仿知乎/掘金复制大段文本添加版权信息那里再说。

  • :

    这个方法就不太知道了,试了好久不知道怎么用(如果有大佬知道,可以在评论区指点一下)。

    如果只是为了禁止复制,或者禁止粘贴,在下面还有另外的方法可以做到,并且可以细粒化操作。


如果学习不是为了装X,那么一切将毫无意义,来看这个东西可以在哪些场景使用:

实现很简单:取消默认复制之后,主要是在被复制的内容后面添加信息,然后根据clipboardData的setData()方法将信息写入剪贴板。

可以直接复制这段代码到本地去试试。


然后command+c、command+v,输出:



  • 禁止复制+剪切
  • 禁止右键,右键某些选项:全选,复制,粘贴等。
  • 禁用文字选择,能选择却不能复制,体验很差。
  • user-select 用css禁止选择文本。

可以把代码拷到本地玩一玩:


PS:

  • 使用也可以禁用,但建议使用这样就不用去访问和的方法了。
  • 示例中全局都禁用了,也可以对dom(某些区域)进行禁用。

破解防复制

上面的防复制方法通过+实现的,所以思路就是:禁用+取消样式。

浏览器的话:打开浏览器控制台,按进入,勾选(禁止js)。

此时如果还不能复制的话,就要去找样式,取消这个样式就可以了。

所以那些盗版小说手打的,我真的不太能理解,Excuse me???

不能使用clipboardData:

在IE中可以用实现。

上文提到过,在IE中是的属性。

而其他浏览器则是相应的对象的属性,这实际上是一种安全措施,防止未经授权的访问,为了兼容其他浏览器,所以我们不能通过来实现这种操作。

具体做法:

  • 创建一个隐藏的框

  • 点击的时候,将要复制的内容放进框中

  • 选择文本内容

    这里只能用或者才能选择文本。

  • document.execCommand("copy"),执行浏览器的复制命令。

    
    

点击复制内容的demo在这里,可以点进去看看。


工作之余了解一下这些东西还是很有趣的,也可以扩宽你的知识面。

事实上只要监听了这些事件,我们就可以对要剪切的内容进行各种各样的操作,比如:复制的时候更换文本,粘贴的时候查找有没有图片(上传图片),或者文本的长度进行剪切等等。

以上2018.8.8

参考资料:

js高程 14.2.2操作剪贴板

网页上如何实现禁止复制粘贴以及如何破解

原生 js 实现点击按钮复制文本

  • 腾讯云年中最大活动,注册即领500减350卷!云服务器最低3折,最低375元/年!戳此直达活动现场!

  • 阿里云推行全民云计算计划,注册即领1000元代金卷,云服务器低至2折,最低293元/年!戳此直达活动!

    以上就是本篇文章【前端er怎样操作剪切复制以及禁止复制+破解等】的全部内容了,欢迎阅览 ! 文章地址:http://keair.bhha.com.cn/news/4882.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 康宝晨移动站 http://keair.bhha.com.cn/mobile/ , 查看更多   
最新文章
跟着影视游普陀,这些热播电视剧在普陀取景
随着电视剧《致1999年的自己》热播,剧中大量以上海普陀区为取景地的场景,受到了广泛关注。该剧以1999年的上海为背景,展现了申
1场25+5,1场4+2!火箭队新秀表现判若两人,加盟航天城堪称双输
作为本赛季探花秀的里德谢泼德,在当中确实偶尔有高光的表现,但只能说本赛季谢泼德来错了球队,在火箭队中他肯定是没有太多的机
普拉达拟购范思哲,能否扭转意时尚“被并购潮”?
经纬风尚 近日,有知情人士透露,普拉达集团(Prada SpA)距离从开云集团(Capri Holdings Ltd.)手中收购范思哲(Versace)又近
长药控股迎白衣骑士,焦煤巨头美锦能源又玩“跨界”?
文|达摩财经3月6日,(000723.SZ)发布公告称,公司董事会通过向长江医药控股股份有限公司临时管理人提交《投资方案》的议案,
我们怎么得到他的?三分命中率50%!加盟骑士后无缝衔接
在昨日的NBA常规赛中,骑士以 112 - 107 力擒热火,延续了自己的连胜势头。德安德烈亨特在比赛中 12 投 6 中,高效砍下 16 分,
“两山”转化在咸宁的生动实践
湖北省咸宁市位于湖北东南部,是著名的中国桂花之乡、温泉之乡、楠竹之乡、茶叶之乡,曾获中国人居环境范例奖、全国最适宜人居城
种草了!首店扎堆进上海,春季大秀“开门红”
2025年开年,上海首店经济迎来“开门红”。短短两个月内,新增的餐饮、零售、体验类首店品牌数量突破百家。进入3月,随着2025年
AI热驱动科技股价值重估,绩优基金中欧智能制造限购
【环球网金融综合报道】今年以来,受AI热点驱动,中国科技股迎来“价值重估”浪潮,多只重仓AI产业链的主动权益基金业绩亮眼,净
惊险!北京机场高速车流间,竟有一残疾老人
2025年2月27日中午,首都机场公安局北京首都国际机场分局货运和公共区派出所接群众报警,在机场高速上有一老人在独自行走,存在
金融纠纷化解的“上海模式”:建立调解工作分站制,调解成功率86%
在金融消费日益普及的当下,金融纠纷的妥善解决成为维护市场秩序与消费者权益的关键。 上海作为全国金融发展的“高地”,近年来
相关文章