如何实现页面文本不可复制-js

71 阅读1分钟

一般较为敏感的业务场景下,不希望用户,随意的进行复制和删除

思路

1、 css 一般对于css 可以加上一个透明层遮罩层,并提升 z-index 的层级。弊端在于手动可以删除 或者加入 use-select:null

js

  1. css相对容易破解,因此,还是要从具体的粘贴复制事件入手,直接重写对应的事件即可。或是直接监听事件,进行拦截处理。
// 禁止右键菜单
document.oncontextmenu = function(){ return false; };
// 禁止文字选择
document.onselectstart = function(){ return false; };
// 禁止复制
document.oncopy = function(){ return false; };
// 禁止剪切
document.oncut = function(){ return false; };

当然也还是可以,继续重写覆盖或者通过ocr图像识别来解决。