JavaScript禁用右键单击优缺点分析


Posted in Javascript onJanuary 20, 2019

更有经验的用户很容易就能绕过禁用右键的问题,而访问大部分网页代码本身就是web浏览器的一个基本功能,根本不需要右键。

缺点

有很多方法可以绕过“没有右键脚本”,而实际上,这种脚本的唯一效果就是惹恼那些在web导航中合法使用右键上下文菜单(该菜单的正确名称)的访问者。

此外,我所看到的所有执行此操作的脚本都只阻止从鼠标右键访问上下文菜单。他们没有考虑到菜单也可以通过键盘访问这一事实。

所有人需要访问菜单使用104键键盘来选择屏幕上的对象,他们想要访问上下文菜单(例如由左点击它),然后按键盘上的上下文菜单中关键的立即左边的CTRL键在电脑键盘上。

在101键键盘上,您可以按住shift键并按下F10来执行右键单击命令。

JavaScript

如果您想要禁用web页面上的右键单击,这里有一个非常简单的JavaScript,您可以使用它来阻止对上下文菜单的所有访问(不仅是鼠标右键,还包括键盘)——这确实会惹恼您的访问者。

这个脚本甚至比大多数只阻塞鼠标按钮的脚本更简单,而且它在几乎所有浏览器中都能工作。

下面是完整的脚本:

<body oncontextmenu="return false;">

只是小段代码添加到web页面的body标签是更有效地阻止访问者的访问上下文菜单比许多no-right-click脚本,你可以在网上找到其他地方因为它阻止访问上述鼠标和键盘选项。

限制

当然,该脚本并不是在所有web浏览器中都能工作(例如,Opera会忽略它——但是Opera也会忽略所有其他不需要右键单击的脚本)。

此脚本也不会阻止访问者使用浏览器菜单中的View source选项访问页面源,或者阻止访问者保存web页面并在其喜爱的编辑器中查看已保存副本的源代码。

最后,尽管您可能禁用对上下文菜单的访问,但用户只需输入即可轻松地重新启用该访问

javascript:void oncontextmenu(null)

到浏览器的地址栏中。

总结:以上就是关于本次JS禁止右键的全部知识点内容,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
webpack+vue.js实现组件化详解
Oct 12 Javascript
javascript容错处理代码(屏蔽js错误)
Jan 20 Javascript
vue 微信授权登录解决方案
Apr 10 Javascript
使用ThinkJs搭建微信中控服务的实现方法
Aug 08 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
Dec 04 Javascript
vue fetch中的.then()的正确使用方法
Apr 17 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 Javascript
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
JavaScript中concat复制数组方法浅析
Jan 20 #Javascript
JavaScript中import用法总结
Jan 20 #Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 #Javascript
js序列化和反序列化的使用讲解
Jan 19 #Javascript
vue-router传参用法详解
Jan 19 #Javascript
vue-router实现嵌套路由的讲解
Jan 19 #Javascript
vue-router实现编程式导航的代码实例
Jan 19 #Javascript
You might like
封装一个PDO数据库操作类代码
2009/09/09 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
python中pycurl库的用法实例
2014/09/30 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
Windows下Python3.6安装第三方模块的方法
2018/11/22 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Python模块的制作方法实例分析
2019/12/21 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
学前班学生评语
2014/12/29 职场文书
工作简报怎么写
2015/07/21 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
2019广播稿怎么写
2019/04/17 职场文书