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阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
Jan 27 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
js实现创建删除html元素小结
Sep 30 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
Jul 20 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 Javascript
webpack打包js的方法
Mar 12 Javascript
element-ui表格列金额显示两位小数的方法
Aug 24 Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 Javascript
vuejs移动端实现div拖拽移动
Jul 25 Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 Javascript
使用JS前端技术实现静态图片局部流动效果
Aug 05 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 基本语法格式
2009/12/15 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
PHP中soap的用法实例
2014/10/24 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
Python 随机生成中文验证码的实例代码
2013/03/20 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
python实现数据图表
2017/07/29 Python
查看Django和flask版本的方法
2018/05/14 Python
一步步教你用python的scrapy编写一个爬虫
2019/04/17 Python
python读取Kafka实例
2019/12/23 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
Pycharm最常用的快捷键及使用技巧
2020/03/05 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
公共事业管理本科生求职信
2013/10/07 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
现金出纳岗位职责
2014/03/15 职场文书
户籍证明书标准模板
2014/09/10 职场文书
离职报告范文
2014/11/04 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
Python实现视频中添加音频工具详解
2021/12/06 Python