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 相关文章推荐
捕获关闭窗口的脚本
Jan 10 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
web基于浏览器的本地存储方法应用
Nov 27 Javascript
Jquery封装tab自动切换效果的具体实现
Jul 13 Javascript
JQuery写动态树示例代码
Jul 31 Javascript
JQuery中使用ajax传输超大数据的解决方法
Jul 14 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
ES6中字符串string常用的新增方法小结
Nov 07 Javascript
js实现简单页面全屏
Sep 17 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模拟SQL Server的两个日期处理函数
2006/10/09 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php 启动报错如何解决
2014/01/17 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
PHP实现计算器小功能
2020/08/28 PHP
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
详解JS预解析原理
2020/06/16 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
Python创建文件和追加文件内容实例
2014/10/21 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
python如何保证输入键入数字的方法
2019/08/23 Python
用python写测试数据文件过程解析
2019/09/25 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
网站设计师的岗位职责
2013/11/21 职场文书
小学端午节活动方案
2014/03/13 职场文书
廉洁自律承诺书
2014/03/27 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
根叔历年演讲稿
2014/05/20 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
pytorch 如何使用float64训练
2021/05/24 Python