js禁止复制、选取、打印、菜单(限制用户行为)

做了一个考生考试页面,需求如下:

  1. 防止考生选取题目复制百度
  2. 禁止打印考试题目
  3. .禁止保存页面
  4. 考生只有一次考试机会,页面刷新离开会被视为提交试卷

如果是开发者,应该都知道F12键打开开发者工具,在开发者工具选择题目选中一样可以复制。
想到这个因素,我用span标签包围一个题目中的每个字,span的类名最后的数字是随机数*1000生成的,例如:
以下哪一个对
在开发者工具中显示的是:

<span class="font1234"></span>
<span class="font1235"></span>
<span class="font4657"></span>
<span class="font7654"></span>
<span class="font7412"></span>
<span class="font9632"></span>

这样可以防止别人过于快捷的复制,用循环加就可以了。

网页禁止复制

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

网页禁止选取

<body onselectstart="return false">

网页禁止右键弹出菜单

<body oncontextmenu="return false>

网页打印是空白

<style>
@media print{ 
body{display:none} 
} 
</style>

页面刷新或关闭会提示是否离开

 <body oncontextmenu="return false">
 这个函数如果点了取消就不会触发onunload事件

离开页面触发的函数

<body  onunload="submit_close()">

禁用ctrl键和F5键

$(document).keydown(function(){
			if(event.ctrlKey){//判断CTRL键
				event.preventDefault();
			}else if(event.keyCode==116){//判断F5键
				event.preventDefault();
			}
		});

这些只是加大了搜题的难度,保证不了其他途径搜题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值