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 相关文章推荐
Web前端设计模式  制作漂亮的弹出层
Oct 29 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
javascript中Array()数组函数详解
Aug 23 Javascript
使用Node.js处理前端代码文件的编码问题
Feb 16 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
Oct 24 Javascript
js初始化验证实例详解
Nov 26 Javascript
vue弹窗消息组件的使用方法
Sep 24 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
Sep 07 Javascript
vue语法自动转typescript(解放双手)
Sep 18 Javascript
vue 使用鼠标滚动加载数据的例子
Oct 31 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 Javascript
浅谈es6中的元编程
Dec 01 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分页示例代码
2007/03/19 PHP
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
纯js实现背景图片切换效果代码
2010/11/14 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
django使用channels2.x实现实时通讯
2018/11/28 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
[03:55]2014DOTA2国际邀请赛 Fnatic经理采访赢DK在情理之中
2014/07/10 DOTA
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
python binascii 进制转换实例
2019/06/12 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
python ubplot使用方法解析
2020/01/10 Python
python实现控制台输出彩色字体
2020/04/05 Python
"引用"与指针的区别是什么
2016/09/07 面试题
企业厂长岗位职责
2013/12/17 职场文书
我的理想演讲稿
2014/04/30 职场文书
通知的格式范文
2015/04/27 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
党员心得体会范文2016
2016/01/23 职场文书
亲情作文之母爱
2019/09/25 职场文书