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 相关文章推荐
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
Feb 03 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
jQuery实现无限往下滚动效果代码
Apr 16 Javascript
JS关闭窗口时产生的事件及用法示例
Aug 20 Javascript
js图片切换具体实现代码
Oct 13 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
Nov 01 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
Jan 15 Javascript
js中数组对象去重的两种方法
Jan 18 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
React实现todolist功能
Dec 28 Javascript
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
一段防盗连的PHP代码
2006/12/06 PHP
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
vue项目实战总结篇
2018/02/11 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
在keras中model.fit_generator()和model.fit()的区别说明
2020/06/17 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
材料成型专业个人求职信范文
2013/09/25 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
讲解员培训方案
2014/05/04 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015年领班工作总结
2015/04/29 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
python 命令行传参方法总结
2021/05/25 Python
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js