IT虾米网

js来监控复制粘贴详解

admin 2018年05月27日 编程语言 159 0

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

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

 

 

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

nodejs事件循环详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。