【HTML】如何在网页中屏蔽右键 ?
如何在网页中屏蔽右键
众所周知,要保护一个页面,最基础的就是要屏蔽右键。而现在网页上用得最多的是function click(),即下面这段代码:
<script>
function click(){
if(event.button==2){
alert( '本网站欢迎您 !!');
}
}
document.onmousedown=click
</script>
但是这种屏蔽方法的破解方法也是众所周知的。那就是连续单击鼠标左键和右键便又可以看到右键菜单了。但是,我见过一种很好的屏蔽右键的方法。它的原理和上面所说的不同。它并不是用JS来编写的脚本,而是利用定义网页属性来起到限制的作用。而且,在屏蔽中应该尽量的避开使用JS脚本。因为只要浏览者把IE里的javascript脚本禁用了。那么一切屏蔽都白费。
那么继续说那种通过修改网页属性的屏蔽右键的方法。这种方法利用了HTML里的〈body〉来作修改,它只有以下短短的一行代码:
<body oncontextmenu=self.event.returnValue=false>
这里,定义了oncontextmenu。使得右键的值为false,起到了屏蔽右键的效果。现在,再试试看刚才的破解方法,已经不行了。左右键连击已经不能再打开右键菜单。不但是这个,再试试看其他的方法。无论你怎样的乱点,右键都没有用。因为在这个网页里,右键已经不存在了。对于一个不存在的功能键,你又能做什么呢?
但是,屏蔽了右键还不能解决问题。如果我要复制一段文字,或是一张图片。那么,把它选中后用ctrl+C 再用 ctrl+V不就可以复制粘贴了嘛。对了,接下来要讲的,就是屏蔽左键(什么?屏蔽左键?那这个网页不就差不多废掉了?别急,没说完呢,左键只有一项功能是很讨厌的)的选定功能。
那么,如上所说,用JS来屏蔽是没有用的,治标不治本的。那么,我们就还用网页的最基础的语言:HTML来定义吧。还是老招数,定义〈body〉。这次用的参数是:onselectstart。就是左键选定的参数。代码如下:
<body onselectstart="return false">
这样,左键选定功能就给轻易屏蔽了。原理和上面的一样。现在,再用你的左键选择任意内容把,已经没有用了。自然也不能ctrl + C,ctrl +V了。那么,现在我们来把这两部分合并起来。彻底控制左右键!:
<body oncontextmenu=self.event.returnValue=false onselectstart="return false">
现在,左右键的问题总算是解决了吧。
【HTML】如何在网页中屏蔽右键 ?的更多相关文章
- 暂停和屏蔽右键网页中的Flash
如何暂停网页中的Flash?原理很简单,就是屏蔽Flash的消息即可.屏蔽右键也可以通过此方法 直接贴代码吧,加了注释,很容易就能懂了 新建工程,加一个WebBrowser,再加两个按钮.Flash ...
- 在Winform中屏蔽UnityWebPlayer的右键以及自带Logo解决方案整理
根据项目的需要,对已经完成的Unity三维模型以及游戏要使用Winform进行包装,也就是使用Winform做一层外壳.因此在展示Unity的时候使用到了UnityWebPlayer这个插件,对于此插 ...
- JQuery模拟网页中自定义鼠标右键菜单
题外话.......最近在开发一个网站项目的时候,需要用到网页自定义右键菜单,在网上看了各路前辈大神的操作,头晕目眩,为了达到目的,突然灵机一动,于是便有了这篇文章. 先放个效果图(沾沾自喜,大神勿喷 ...
- VB6 Webbowser控件与JS交互,无边框和屏蔽右键菜单
1. 屏蔽右键菜单 在菜单中单击"工程"->"引用",在列表中找到"Microsoft HTML Object Library"打上 ...
- 网页中插入外部视频的几种方法(PC与手机网页通用)
网页中加入视频的几种方法(PC与手机网页通用) 方法一: <!doctype html> <html> <head> <meta charset=" ...
- Android网页中tel,sms,mailTo,Intent,Market协议用法总结
tel:协议---拨打电话 <a href="tel:">调出拨号界面</a> <a href="tel:10086">调 ...
- embed标签的使用(在网页中播放各种音频视频的插件的使用)
播放器插件使用说明: 代码:< EMBED src=“music.mid”autostart=“true”loop=“2”width=“80”height=“30”> src:音乐文件的路 ...
- HTML网页中添加音频视频动画...(转)
在网页中适当嵌入音频和视频能够充分显示网页的多媒体特性,特别是随着宽带网的普及,使得网络广播和网络视频成为现实,网页音频和视频的重要性也日益突显.具体来说,网页音频和视频的嵌入方法主要有三种: 一.b ...
- [properJavaRDP]在网页中实现远程连接
内容摘要: 利用开源软件properJavaRDP实现远程桌面连接 如何让Applet嵌入到网页中正常运行 如何处理连接win7时的异常:Wrong modulus size! Expected 64 ...
随机推荐
- css flex弹性布局学习总结
一.简要介绍 flex( flexible box:弹性布局盒模型),是2009年w3c提出的一种可以简洁.快速弹性布局的属性. 主要思想是给予容器控制内部元素高度和宽度的能力.目前已得到以下浏览器支 ...
- 最全的计算机Java毕业设计题目大全 附 源码
本文提供数百个计算机毕设题目可以参考 并提供成品源码下载,都是从网上收集而来 源码技术全部采用java+MySQL开发,并结合了其他技术如ssm,ssh,jsp等等. 下载链接在文末! 以下是项目名称 ...
- js获取时间及转化
有关Javascript的本地时间获取,下面我直接用代码来进行举例吧 let time = new Date(); let month = time.getMonth()+1; //获取的月份0~11 ...
- linux find命令mtime/atime/ctime +n -n n 全网最正确的总结
1.man find 解释: find - search for files in a directory hierarchy,即:在目录下查找文件 2.按文件被修改的时间查询文件 命令格式: fin ...
- Linux 文件(持续更新)
一.文件类型 Linux操作系统把所有内容(文件.图片.视频.设备)都当作文件看待.处理,即一切皆文件. Linux系统把所有文件分为七种类型: 文件类型 文件类型标识 说明 使用ls -l命令查看文 ...
- Python 【图片转字符画】
一.安装的第三方模块 $ sudo pip3 install --upgrade pip $ sudo pip3 install pillow //window pip3 install pillow ...
- MySQL 8 服务器日志
错误日志: 启动.运行.停止 mysqld(MySQL Server) 遇到的问题 通用查询日志: 建立客户端连接和从客户端接收的语句 二进制日志: 更改数据的语句(也用于复制) 中继日志: 从复制m ...
- @Autowired、@Resource、@Qualifier区别
@Autowired 1.属于spring的注解,如果不想和Spring耦合的太紧,就不推荐使用. 2.默认情况下,要求依赖对象必须存在,不能为null.如果允许为空,那么设置属性值required为 ...
- [CF1303G] Sum of Prefix Sums - 点分治,李超线段树
给定一棵 \(n\) 个点的带点权的树,求树上的路径 \(x_1,...,x_k\) ,最大化 \(\sum_{i=1}^k ia_{x_i}\) Solution 树上路径问题可用点分治. 考虑如何 ...
- from selenium.webdriver.chrome.options import Options中add_argument 常用参数表收集
chrome_options.add_argument("xxx") 序号 参数 说明 1 --allow-outdated-plugins 不停用过期的插件. 2 --allow ...