zoukankan      html  css  js  c++  java
  • js禁止复制页面文字

    做项目的时候有客户提出要求,不能用用户浏览他发表的文章时复制他的文章

    一种比较简单的方法,禁止用户选中页面的文字和禁止用户右键菜单

     

    document.oncontextmenu = new Function("event.returnValue=false");
    document.onselectstart = new Function("event.returnValue=false");
    

    如果只是禁止部分区域的话,直接在标签上加上onselectstart=“return false”

    <div onselectstart="return false" id="div" >
    此区域禁止复制
    </div>
    

     或者

    <div onselectstart="return false" id="div" >
    此区域禁止复制
    </div>
    <script type="text/javascript" >
        $(document).ready(function(){
              document.getElementById('div').onselectstart =function(){
                    return false;
              }; 
        });
    </script>    
    

    在火狐下这种js写法是无效的

    在火狐下有个屏蔽选择样式的样式属性 -moz-user-select (只支持火狐浏览器)

    <div style="-moz-user-select:none;" >
        禁止复制此区域
    </div>
    

    如果要禁止整个页面

    <script type="text/javascript" >
        $(document).ready(function(){
             $("body").css("-moz-user-select","none");
        });
    </script>   
    

    -moz-user-select主要有三个值 none -moz-all -moz-none

      Input表单中文字 一般页面文字
    none 不可选 不可选
    -moz-all 不可选 可选
    -moz-none 可选 不可选

  • 相关阅读:
    this.$nextTick()的原理与使用场景
    vue中通过方法返回data中的对象是这个{__ob__: Observer}
    3月23日学习日志
    3月22日学习日志
    3月19日学习日志
    3月18日学习日志
    3月17日学习日志
    3月16日学习日志
    3月15日学习日志
    3月12日学习日志
  • 原文地址:https://www.cnblogs.com/war-hzl/p/4794698.html
Copyright © 2011-2022 走看看