zoukankan      html  css  js  c++  java
  • 禁止页面右键复制文字以及禁止打开调式工具

    平时我们在豆丁文档或者360文档想复制文档的时候发现,不能右键复制,那么他们是如何做到的呢?

    1. 禁止右键,在body标签内加入如下代码即可。
    <body 
    oncontextmenu='return false'                   禁止右键
    ondragstart='return false'                     禁止拖动
    onselectstart ='return false'                  禁止选中
    onselect='document.selection.empty()'          禁止选中
    oncopy='document.selection.empty()'            禁止复制
    onbeforecopy='return false'                    禁止复制
    >
    
    1. 禁止打开浏览器的调试着工具,在js脚本中添加下载这段代码即可
    var threshold = 10; // 打开控制台的宽或高阈值
    // 每秒检查一次
    var check = setInterval(function() {
        if (window.outerWidth - window.innerWidth > threshold || 
            window.outerHeight - window.innerHeight > threshold) {
            // 如果打开控制台,则刷新页面
            alert('不要想打开控制台')            //注意:这句话很恶心,慎重打开。哈哈哈....
            window.location.reload();
        }
    }, 1000);
    

    3.禁止网页中的部分文本选中
    html中禁止文字被选中

    user-select:none |text| all | element

    取值:

    none:文本不能被选择

    text:可以选择文本

    all :当所有内容作为一个整体时可以被选择。如果双击或者在上下文上点击子元素,那么被选择的部分将是以该子元素向上回溯的最高祖先元素。

    element:可以选择文本,但选择范围受元素边界的约束

    说明:

    1.IE6-9不支持该属性,但支持使用标签属性 onselectstart="return false;" 来达到 user-select:none 的效果;Safari和Chrome也支持该标签属性;

    2.直到Opera12.5仍然不支持该属性,但和IE6-9一样,也支持使用私有的标签属性 unselectable="on" 来达到 user-select:none 的效果;unselectable 的另一个值是 off;

    3.除Chrome和Safari外,在其它浏览器中,如果将文本设置为 -ms-user-select:none;,则用户将无法在该文本块中开始选择文本。不过,如果用户在页面的其他区域开始选择文本,则用户仍然可以继续选择将文本设置为 -ms-user-select:none; 的区域文本;

    4.对应的脚本特性为userSelect。

    代码如下:

    <!DOCTYPE html>
    <html lang="en">
     
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>禁止选中</title>
    </head>
    <style>
        .demo1 {
        	 300px;
        	height: 300px;
            background: skyblue;
            /* 兼容性 */
            -webkit-user-select: none;
            -moz-user-select: none;
            -o-user-select: none;
            user-select: none;
            
        }
    </style>
     
    <body>
        <div class="demo1" onselectstart="return false;" unselectable="on">
    	测试文本
        </div>
    </body>
     
    </html>
    

    当然,一般情况下要想复制禁止右键的页面。
    可以打开调试工具后,在console里面输入document.body.innerText
    这样就可以复制网页文本信息了。

  • 相关阅读:
    lipo命令
    Eclipse安装ADT插件
    编译vo-aacenc遇到的问题
    双MIC安卓手机录音问题
    天天动听MP3解码器性能提升50%
    Sublime Text 2结合VS2010配置C C++编译
    讯飞语音语义接口测试
    讯飞语音接口注册
    iOS阶段学习第31天笔记(UINavigationBar介绍)
    iOS App上架AppStore 会遇到的坑
  • 原文地址:https://www.cnblogs.com/Bianco/p/13522768.html
Copyright © 2011-2022 走看看