zoukankan      html  css  js  c++  java
  • js来监控复制粘贴

        平时我们在复制网页上面代码到控制台调试时,有时会出现复制过来的代码后面加上了一下描述信息(作者、版权等信息),每次需要删除才能运行,所以今天看看怎么能保证我们粘贴的代码不携带这些信息呢?

    (function() {
      document.addEventListener('copy',(e)=>{
        e.preventDefault();
        e.stopPropagation();
        console.info('触发复制事件');
        /** 
          返回一个Selection对象,表示用户选择的文本范围或光标的当前位置
          Selection.getRangeAt返回一个包含当前选区内容的区域对象
        */
        let text = window.getSelection().getRangeAt(0);
        let node = document.createElement('div');
        // cloneContents方法把范围(Range)的内容复制到一个DocumentFragment对象
        node.appendChild(window.getSelection().getRangeAt(0).cloneContents());
        /** 
           ClipboardEvent.clipboardData 属性保存了一个 DataTransfer 对象,这个对象可用于:
           描述哪些数据可以由 cut 和 copy 事件处理器放入剪切板,通常通过调用 setData(format, data) 方法;
           获取由 paste 事件处理器拷贝进剪切板的数据,通常通过调用 getData(format) 方法
        */
        if(e.clipboardData){
          e.clipboardData.setData("text/html", node.innerHTML);
          e.clipboardData.setData("text/plain",text);
        }else if(window.clipboardData){
          return window.clipboardData.setData("text", text);
        }
      })
    }());

  • 相关阅读:
    IDS与IPS功能分析
    CentOS 命令大全
    仿京东放大镜
    CSS垂直水平居中方法总结
    Java学习之计算机基础(一)
    Java 代码学习之理解数据类型中的坑
    Java 代码学习之数组的初始化
    Java中的比较总结
    Java Random介绍
    手机网站开发必修课[2]:浏览器兼容性测试
  • 原文地址:https://www.cnblogs.com/colima/p/8479310.html
Copyright © 2011-2022 走看看