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 相关文章推荐
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
javascript教程:关于if简写语句优化的方法
May 17 Javascript
在Html中使用Requirejs进行模块化开发实例详解
Apr 15 Javascript
使用Javascript监控前端相关数据的代码
Oct 27 Javascript
Webpack中css-loader和less-loader的使用教程
Apr 27 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
微信小程序实现手势滑动效果
Aug 26 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
Dec 30 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 Javascript
如何在JavaScript中正确处理变量
Dec 25 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
第六节--访问属性和方法
2006/11/16 PHP
PHP Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
Views rows style模板重写代码
2011/05/16 PHP
PHP文件上传原理简单分析
2011/05/29 PHP
php 地区分类排序算法
2013/07/01 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
[02:36]DOTA2上海特锦赛 回忆电竞生涯的重要瞬间
2016/03/25 DOTA
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
2018/09/27 Python
python isinstance函数用法详解
2020/02/13 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
2021/02/24 Python
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
环保专业大学生职业规划设计
2014/01/10 职场文书
银行领导证婚词
2014/01/11 职场文书
日语专业个人求职信范文
2014/02/02 职场文书
四年大学自我鉴定
2014/02/17 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
老人院义工活动感想
2015/08/07 职场文书
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android