// ==UserScript== // @name 网页复制破解助手 // @namespace ack20a@gmail.com // @version 0.1 // @description 破解网页防复制限制,支持破解百度文库 (wk.baidu.com)、腾讯文档 (docs.qq.com) 和道客巴巴 (doc88.com) 等网站的文本复制。 // @author ack20 // @match *://*/* // @grant none // @run-at document-end // @license MIT // @downloadURL none // ==/UserScript== (function () { 'use strict'; // 常量定义 const SCRIPT_NAME = "网页复制破解助手"; const SUPPORTED_DOMAINS = ["wk.baidu.com", "docs.qq.com", "doc88.com"]; const SUPER_COPY_CSS = ` #_copy { align-items: center; background: #4494d5; border-radius: 3px; color: #fff; cursor: pointer; display: flex; font-size: 13px; height: 30px; justify-content: center; position: absolute; width: 60px; z-index: 1000; } #select-tooltip,#sfModal,.modal-backdrop,div[id^=reader-helper]{ display: none !important; } .modal-open { overflow: auto !important; } ._sf_adjust_body { padding-right: 0 !important; } .enable_copy_btns_div { position: fixed; width: 154px; left: 10px; top: 45%; background: #e7f1ff; border: 2px solid #4595d5; font-weight: 600; border-radius: 2px; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol; z-index: 5000; } .enable_copy_btns_logo { width: 100%; background: #4595d5; text-align: center; font-size: 12px; color: #e7f1ff; line-height: 30px; height: 30px; } .enable_copy_btns_btn { display: block; width: 128px; height: 28px; background: #7f5711; border-radius: 4px; color: #fff; font-size: 12px; border: 0; outline: 0; margin: 8px auto; font-weight: 700; cursor: pointer; opacity: 0.9; } .enable_copy_btns_btn:hover { opacity: 0.8; } .enable_copy_btns_btn:active { opacity: 1; } `; // 注入 CSS 样式 function injectCSS(css) { var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; (document.head || document.getElementsByTagName('head')[0]).appendChild(style); } // 检查当前域名是否受支持 function isDomainSupported() { return SUPPORTED_DOMAINS.some(domain => window.location.hostname.includes(domain)); } // 工具函数:移除网页中的复制限制事件 function removeCopyRestrictions(element) { ["copy", "cut", "contextmenu", "selectstart", "mousedown", "mouseup", "mousemove", "keydown", "keypress", "keyup"].forEach(event => { element.addEventListener(event, function (e) { e.stopPropagation(); e.stopImmediatePropagation && e.stopImmediatePropagation(); e.returnValue = true; }, { capture: true }); }); } // 通用破解逻辑 function genericCrack(domain, $){ // 显示悬浮复制按钮 $('body').on('mouseup', function (e) { const selection = window.getSelection().toString(); if (selection) { $('#_copy').remove(); // 移除已有的复制按钮 const copyButtonHtml = `