复制去除版权信息

复制文字时自动去除网站自带的版权信息

目前为 2022-01-19 提交的版本。查看 最新版本

// ==UserScript==
// @name         复制去除版权信息
// @namespace    http://tampermonkey.net/
// @version      0.1.3
// @description  复制文字时自动去除网站自带的版权信息
// @author       myaijarvis
// @icon         https://greasyfork.org/packs/media/images/blacklogo16-5421a97c75656cecbe2befcec0778a96.png
// @run-at       document-end

// @match        https://leetcode-cn.com/problems/*
// @match        https://www.jianshu.com/p/*
// @match        https://*.blog.csdn.net/article/details/*
// @match        https://blog.csdn.net/*/article/details/*
// @match        https://juejin.cn/post/*

// @require      https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js
// @grant        none
// ==/UserScript==

(function () {
  "use strict";
  function copyOperation(e) {
    e.preventDefault(); //阻止默认事件
    e.stopImmediatePropagation(); // 在执行完当前事件处理程序之后,停止当前节点以及所有后续节点的事件处理程序的运行
    let selected = window.getSelection();
    let clipboard = e.clipboardData;
    clipboard.setData("Text", selected.toString());
  }


  function monitor(url) {
   if (url.match(/https:\/\/leetcode-cn\.com\/problems\/.*?\/solution\/.+/)) {
      document.addEventListener("copy", copyOperation);
      //   console.log("copy!");
    } else {
      document.removeEventListener("copy", copyOperation); // 移除添加的事件
      //   console.log("not copy!");
    }
  }

  let urlTemp = document.URL;
  if (urlTemp.match(/leetcode-cn\.com\/problems/)) {
    //   console.log(urlTemp);
    monitor(urlTemp); // 先触发一次
    setInterval(() => {
      let url = document.URL;
      //console.log("url", url);
      // 页面url变了但页面没刷新会触发
      if (url != urlTemp) {
        urlTemp = url;
        //   console.log("urlTemp", url);
        monitor(url);
      }
    }, 2000);
  }else{
      document.addEventListener('copy',copyOperation);
  }
})();