js禁止复制页面文字

做项目的时候有客户提出要求,不能用用户浏览他发表的文章时复制他的文章

一种比较简单的方法,禁止用户选中页面的文字和禁止用户右键菜单

 

1
2
document.oncontextmenu = new Function("event.returnValue=false");
document.onselectstart = new Function("event.returnValue=false");

如果只是禁止部分区域的话,直接在标签上加上onselectstart=“return false”

1
2
3
<div onselectstart="return false" id="div" >
此区域禁止复制
</div>

 或者

1
2
3
4
5
6
7
8
9
10
<div onselectstart="return false" id="div" >
此区域禁止复制
</div>
<script type="text/javascript" >
    $(document).ready(function(){
          document.getElementById('div').onselectstart =function(){
                return false;
          };
    });
</script>   

 

在火狐下这种js写法是无效的

在火狐下有个屏蔽选择样式的样式属性 -moz-user-select (只支持火狐浏览器)

 

1
2
3
<div style="-moz-user-select:none;" >
    禁止复制此区域
</div>

 

如果要禁止整个页面

1
2
3
4
5
<script type="text/javascript" >
    $(document).ready(function(){
         $("body").css("-moz-user-select","none");
    });
</script>  

-moz-user-select主要有三个值 none -moz-all -moz-none

 

  Input表单中文字 一般页面文字
none 不可选 不可选
-moz-all 不可选 可选
-moz-none 可选 不可选

posted @   dotnet007cn  阅读(4478)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示