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 相关文章推荐
JS获取父节点方法
Aug 20 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
基于JavaScript实现下拉列表左右移动代码
Feb 07 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
vue裁切预览组件功能的实现步骤
May 04 Javascript
package.json配置文件构成详解
Aug 27 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
基于Vue实现微前端的示例代码
Apr 24 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP HTML代码串截取代码
2008/12/29 PHP
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
8个必备的PHP功能开发
2015/10/02 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
js实现文本框中焦点在最后位置
2014/03/04 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
Python字符串替换实例分析
2015/05/11 Python
Python应用库大全总结
2018/05/30 Python
Python要如何实现列表排序的几种方法
2020/02/21 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
如何做好总经理助理
2013/11/12 职场文书
博士研究生自我鉴定范文
2013/12/04 职场文书
采购人员的个人自我评价
2014/01/16 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
代理人委托书
2014/08/01 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript