js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome

 更新时间:2020年10月2日 10:46  点击:2410

键盘事件

一般处理键盘按键事件我们采用这样的方式

document.onkeydown=function (event) {
  //检测按下哪个键,作相应处理
};

event为键盘事件,对于chrome,firefox,IE(Edge),IE10,IE9均能支持function自带的e,而ie8以下只能识别windows.event,所以一般兼容写法为:event=event||window.event。获取按键码一般是event.keyCode,这个对各大浏览器都是兼容的。

document.onkeydown=function (event) {
   event=event||window.event;
   var key=event.keyCode;
   //检测按下哪个键,作相应处理
   if(key==...){
}    
 };

屏蔽浏览器默认事件的方法大致有三种:
1)event.preventDefault()
2)event.returnValue=false;
3)return false;

firefox的特殊方式支持是指,firefox这里一个比较坑爹的地方是,firefox需增加一个延迟才能生效,不然仍然会跳出浏览器的保存当前页面窗口,如下:

document.onkeydown=function (event) {
        //判断按键 
         var key=event.keyCode;
        if(key== 83 && e.ctrlKey){
            /*延迟,兼容FF浏览器 */
            setTimeout(function(){
              alert('ctrl+s');
            },1);
            event.preventDefault();//或者是 return false;  
          }

而IE10,IE9,IE8以下对于event.returnValue=false的特殊方式支持是指键盘事件event必须为window.event时ctrl+s的默认事件才能屏蔽,在event=event||window.event的兼容写法中,IE8及以下的形参event是空,所以会取值为window.event,而IE10,IE9的function形参event是有效的,所以取值直接为event,因此IE10,IE9在写法为event=event||window.event时会屏蔽ctrl+s失效。

假如要让所有IE版本能够屏蔽Ctrl+S,event取值只能是window.event了。由于window.event没有方法preventDefautl,所以屏蔽默认事件方法只能用return false;

兼容IE、firefox、chrome,屏蔽Ctrl+s的写法为

document.onkeydown=function (e) {
       e=window.event||e;
       if(key== 83 && e.ctrlKey){
          /*延迟,兼容FF浏览器 */
          setTimeout(function(){
           alert('www.qdxw.net');
          },1);
          return false;   
        }  
      };

屏蔽鼠标右键的写法

window.document.oncontextmenu = function (){
   alert('亲,你想干嘛,不要做坏事哦');
   return false;
 }

如果当前页面里含有iframe 那么iframe里的右键依然可用

屏蔽页面里iframe里的右键写法

document.getElementById('web').onload = function(){
  window.document.getElementById('web').contentWindow.document.oncontextmenu = function(){
    alert('www.qdxw.net');
    return false;
    } 
}

web是iframe标签的ID属性。

[!--infotagslink--]

相关文章

  • js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome

    最近想给JS特效与模板预览页面加上屏蔽查看源文件,防治整理不易的源码被轻易拿走,发现IE、火狐、chrome等各类浏览器支持不一样。下面是脚本之家整理的一些屏蔽总结...2020-10-02
  • 关于PhpStorm设置点击编辑文件自动定位源文件的实现方式

    这篇文章主要介绍了关于PhpStorm设置点击编辑文件自动定位源文件的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-12-30
  • C++中头文件与源文件的作用详解

    这篇文章主要给大家介绍了关于C++中头文件与源文件的作用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-04-25
  • 在.NET中读取嵌入和使用资源文件的方法

    本文分别介绍了使用GetManifestResourceStream读取嵌入资源,和使用. resx资源文件嵌入资源,希望对大家有所帮助。...2020-06-25
  • 使用C# Winform应用程序获取网页源文件的解决方法

    本篇文章是对使用C# Winform应用程序获取网页源文件的方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • C#编程获取资源文件中图片的方法

    这篇文章主要介绍了C#编程获取资源文件中图片的方法,涉及C#针对项目中资源文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 使用C#开源文件实时监控工具Tail&TailUI介绍

    Tail 可以快速显示大文件的末尾部分,而无需加载整个文件。并且其可以用于查看一个正在增长的文件。Tail 仅是一个文件查看器,其不会对文件进行任何更改。...2020-06-25
  • C#几种获取网页源文件代码的实例

    C#几种获取网页源文件代码的实例,需要的朋友可以参考一下...2020-06-25
  • c#使用资源文件的示例

    对于资源文件的使用,说白点就是通过强制类型转换,将资源文件里的数据强行的转换成你需要的,换种方式说,就是你原来存进去什么,就用什么类型拿出来,下面我们学习一下c#使用资源文件的方法...2020-06-25
  • 实例讲解.NET中资源文件的创建与使用

    资源文件顾名思义就是存放资源的文件。资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用...2021-09-22
  • asp.net中资源文件的使用

    .Net是一个丰富的平台,在它的结构中,程序集Assembly是自我描述的安装单元,它可以只包括一个PE(可移植可执行)格式的Dll或exe文件,也可以由多个文件组成,例如资源、Dll和exe等...2021-09-22
  • VSCode无法打开源文件及无法打开链接库文件的解决方法

    本文主要介绍了VSCode无法打开源文件及无法打开链接库文件的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2022-06-10