当前位置: 首页 > news >正文

js 实现 禁用用户浏览器选中,复制,剪切 ,粘贴功能

公司做的项目有的需要发布到网上,但是内容又不想被复制,那么久可以加上这样的代码

第一种
1

  <script language=javascript type=text/javascript>
<!--
document.οncοntextmenu=new Function('event.returnValue=false;');
document.onselectstart=new Function('event.returnValue=false;');
-->
  </script>

2 或者 在中加入以下代码:

<body oncontextmenu="return false" onselectstart="return false">
或
<body oncontextmenu="event.returnValue=false" onselectstart="event.returnValue=false">

实质上,这两个方法是一样的。

3 如果只限制复制,可以在加入以下代码:

<body oncopy="alert('对不起,禁止复制!');return false;">

4 使菜单"文件"-"另存为"失效
如果只是禁止了右键和选择复制,那么别人还可以通过浏览器菜单中的"文件"-"另存为"拷贝文件。为了使拷贝这个功能也失效,我们可以在与之间加入以下代码:

<body>
	<noscript>
		<iframe src="*.htm"></iframe>
	</noscript>
</body>

这样,用户在另存网页时,就会出现"无法保存Web页"的错误。

5 也可以使用event.preventDefault() 方法来阻止oncontextmenu() ,
还有onselectstart()

document.oncontextmenu=function(evt){
	evt.preventDefault();
}

document.onselectstart=function(evt){
	evt.preventDefault();
};

6 既然可以禁止,那么当然也可以启用它,将事件重新赋值即可,可以赋值为null,或字符串、布尔值都行。如:

document.oncontextmenu="";
document.onselectstart=true;

第二种

1. 屏蔽选中

	 <script>
    document.onselectstart = function (event) {
        if (window.event) {
            event = window.event;
        }
        try {
            var the = event.srcElement;
            if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
                return false;
            }
            return true;
        } catch (e) {
            return false;
        }
    }
</script>

2. 屏蔽复制

	<script>
    document.oncopy = function (event) {
        if (window.event) {
            event = window.event;
        }
        try {
            var the = event.srcElement;
            if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
                return false;
            }
            return true;
        } catch (e) {
            return false;
        }
    }
</script>

3. 屏蔽剪切

	<script>
    document.oncut = function (event) {
        if (window.event) {
            event = window.event;
        }
        try {
            var the = event.srcElement;
            if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
                return false;
            }
            return true;
        } catch (e) {
            return false;
        }
    }

4. 屏蔽粘贴

	<script>
	    document.onpaste = function (event) {
	        if (window.event) {
	            event = window.event;
	        }
	        try {
	            var the = event.srcElement;
	            if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
	                return false;
	            }
	            return true;
	        } catch (e) {
	            return false;
	        }
	    }
	</script>

相关文章:

  • IT 圈里有哪些经常被读错的词?
  • this.$nextTick()的理解及使用
  • codeforces 700A
  • Web学习笔记
  • 双向数据绑定原理 vue2.0 与 vue3.0
  • HDU 1232 畅通工程 并查集
  • Duilib创建窗口双击标题栏禁止窗口最大化
  • 数据处理四舍五入,保留两位小数
  • 家长需要反复领悟的33句话
  • 导航栏的字体颜色的设置小收集
  • nrm ls执行不成功,显示node:internal/validators:119 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value)
  • 基于LDAP下的Samba服务
  • 前端 项目里 常用的判断语句 有实例
  • mysql 主从同步
  • 张掖百公里,再次折戟
  • 〔开发系列〕一次关于小程序开发的深度总结
  • extract-text-webpack-plugin用法
  • k8s如何管理Pod
  • Lsb图片隐写
  • 关于 Cirru Editor 存储格式
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 算法系列——算法入门之递归分而治之思想的实现
  • 学习JavaScript数据结构与算法 — 树
  • PostgreSQL之连接数修改
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​iOS实时查看App运行日志
  • ​第20课 在Android Native开发中加入新的C++类
  • #pragma data_seg 共享数据区(转)
  • #stm32驱动外设模块总结w5500模块
  • #stm32整理(一)flash读写
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (2)STL算法之元素计数
  • (floyd+补集) poj 3275
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (论文阅读11/100)Fast R-CNN
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .bat批处理出现中文乱码的情况
  • .FileZilla的使用和主动模式被动模式介绍
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .Net接口调试与案例
  • .net解析传过来的xml_DOM4J解析XML文件
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [04] Android逐帧动画(一)
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [20160902]rm -rf的惨案.txt
  • [20171102]视图v$session中process字段含义
  • [BZOJ4010]菜肴制作