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);
        }
      })
    }());

  • 相关阅读:
    Codeforces Round #384 (Div. 2) 解题报告
    Codeforces Round #383 (Div. 2) 解题报告
    (DFS、bitset)AOJ-0525 Osenbei
    (DFS、全排列)POJ-3187 Backward Digit Sums
    自考新教材-p169
    自考新教材-p167
    自考新教材-p166
    自考新教材-p165
    自考新教材-p161
    自考新教材-p159
  • 原文地址:https://www.cnblogs.com/colima/p/8479310.html
Copyright © 2011-2022 走看看