JS实现禁用右键/禁止复制粘贴剪切选取/禁用键盘按键

我是社区第485122位番薯,欢迎点我头像关注我哦~
1. 问题描述

在jsp页面中调用模板,一般是将 URL 放在 iframe 中,然后通过点击相应的树节点查看报表,若设置权限后,登录系统后可能有些用户通过点击右键中的属性查看url然后访问,这样对系统不是很安全,因此禁止用户通过右键查看url呢,此时可以使用禁用菜单右键功能。

2. JS 实现禁用右键

点击模板>模板 Web 属性>分页预览设置,选择为该模板单独设置,在下面的事件设置里面添加一个加载结束事件,完整 JavaScript 代码如下:

  1. function nocontextmenu(event){
  2. event = event || window.event;
  3. if (event.which == 2 )
  4. event.returnValue = false;
  5. return false;
  6. }
  7. document.oncontextmenu = nocontextmenu;
复制代码

这段代码的基本原理是当用户的页面事件为右键(event.which == 2)的时候返回 false,禁止弹出菜单。

如果模板中有参数面板,希望一调用模板就禁用右键,而不是查询之后禁用,则需要在参数面板的查询按钮中添加初始化事件,写入上述 JavaScript 代码。

注:如果要禁用填报页面和数据分析页面的右键操作,则在模板>模板web属性的填报预览设置和数据分析设置中进行相同的设置。

3. JS 实现禁止复制粘贴剪切选取
点击模板>模板 Web 属性>填报预览设置,选择为该模板单独设置,添加一个加载结束事件,JavaScript 代码如下:

  1. JavaScript 代码如下:
  2. document.oncopy=function(e) {  
  3.    alert('当前不能复制');  
  4.    return false;  
  5. }
复制代码

如果要实现禁复制、选取等功能,可以参考下表:

功能
调用
禁止选取
document.onselectstart
禁止复制
document. oncopy
禁止剪切
document. oncut
禁止粘贴
document. onpaste

4. JS 实现禁用键盘按键

另外,可以通过传递 event 对象,实现监听用户键盘事件,如禁止回车键功能:

JavaScript 代码如下:

  1. function test(event){
  2. if(event.keyCode == 13){
  3. alert("无法使用回车键");
  4. return false;
  5. }else{
  6. return true;
  7. }
  8. }
  9. document.onkeydown =test;
复制代码

5. 常用的 keyCode 代码


发表于 2021-4-6 17:22:42
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 2关注人数 3817浏览人数
最后回复于:2022-4-24 17:02

返回顶部 返回列表