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插件fancybox无法在弹出层使用左右键的解决办法
Dec 25 Javascript
JavaScript保留两位小数的2个自定义函数
May 05 Javascript
JavaScript中的replace()方法使用详解
Jun 06 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 Javascript
javascript实现简易计算器
Feb 01 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
jQuery实现简单漂亮的Nav导航菜单效果
Mar 29 jQuery
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
Element ui 下拉多选时新增一个选择所有的选项
Aug 21 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添加数据到xml文件的简单例子
2016/09/08 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
javascript removeChild 使用注意事项
2009/04/11 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
详解vue express启动数据服务
2017/07/05 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
异步任务队列Celery在Django中的使用方法
2018/06/07 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
python将音频进行变速的操作方法
2020/04/08 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
俄罗斯街头服装品牌:Black Star Wear
2017/03/01 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
学校清明节活动总结
2014/07/04 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
最美乡村教师观后感
2015/06/11 职场文书
《包身工》教学反思
2016/02/23 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android