zoukankan      html  css  js  c++  java
  • 如何在html中禁止文字的复制

    如何在html中禁止文字的复制

    在写页面时,会遇到需要禁止用户复制网页里的某些内容的情况,例如:小说网站等,这时我们就需要通过一些方法来控制,才能达到禁止复制这个目的。

    1.禁止选中和禁止右键

    在<body>标签中添加以下代码:

    οncοntextmenu='return false'    禁止右键
    οndragstart='return false'    禁止拖动
    onselectstart ='return false'    禁止选中
    οnselect='document.selection.empty()'    禁止选中
    οncοpy='document.selection.empty()'    禁止复制
    onbeforecopy='return false'    禁止复制
    οnmοuseup='document.selection.empty()'
     

    示例代码如下:

    <body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onselect='document.selection.empty()' oncopy='document.selection.empty()' onbeforecopy='return false' onmouseup='document.selection.empty()'></body>

    2.禁止网页另存为:

    在<body>后面加入以下代码: 

    <body></body>
    <noscript>
        <iframe src=”*.htm”></iframe>
    </noscript>

    此时你会发现在电脑端已经无法选择复制,但是在移动端却还能选中复制,那么就需要再添加如下css代码来实现移动端也禁止选中文字。

    3.css代码来实现禁止选中文字

    *{
         moz-user-select: -moz-none;
         -moz-user-select: none;
         -o-user-select:none;
         -khtml-user-select:none;
         -webkit-user-select:none;
         -ms-user-select:none;
         user-select:none;
    }

    此时,到这一步,正常的选择和复制都已经被禁用了,但是懂行的人还可用浏览器的查看源码和调试工具来直接从代码中复制内容。

    4.禁用F12按键

    //禁用F12
    window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
         // 判断是否按下F12,F12键码为123
         if (event.keyCode == 123) {
         event.preventDefault(); // 阻止默认事件行为
         window.event.returnValue = false;
         }
    }

    5.禁用调试工具

    var threshold = 160; // 打开控制台的宽或高阈值
    // 每秒检查一次
    var check = setInterval(function() {
         if (window.outerWidth - window.innerWidth > threshold ||
             window.outerHeight - window.innerHeight > threshold) {
             // 如果打开控制台,则刷新页面
             window.location.reload();
         }
    }, 1000);


    到这一步,已经基本限制了大部分的复制功能,但是对于懂行的来说还是不能完全限制,需要完全禁止还需要探讨更多方法来实现!!!!


  • 相关阅读:
    转载 HtmlParser 抓取大众点评评论的代码
    转载 Oracle 11g R2的卸载与重装
    转载 java控制对象的序列化和反序列化
    转载 java序列化与反序列化
    转载 自定义Android标题栏TitleBar布局
    转载 简明Vim练级攻略
    转载 Http Tcp
    百度坐标拾取
    转载 Google Maps API Web Services文档使用
    转载 Android环境的搭建
  • 原文地址:https://www.cnblogs.com/meijifu/p/12434239.html
Copyright © 2011-2022 走看看