返回首頁 

Greasy Fork is available in English.

🔥🔥🔥文本选中复制🔥🔥🔥

解除网站不允许复制的限制,文本选中后点击复制按钮即可复制,主要用于 百度文库 道客巴巴 腾讯文档 豆丁网 无忧考网 学习啦 蓬勃范文 思否社区 力扣 知乎 语雀 等


Installer dette script?
Skaberens foreslåede script

Du vil måske også kunne lide 🔥🔥🔥文本选中复制(通用)🔥🔥🔥


Installer dette script
// ==UserScript==// @name        🔥🔥🔥文本选中复制🔥🔥🔥// @description 解除网站不允许复制的限制,文本选中后点击复制按钮即可复制,主要用于 百度文库 道客巴巴 腾讯文档 豆丁网 无忧考网 学习啦 蓬勃范文 思否社区 力扣 知乎 语雀 等// @namespace   https://github.com/WindrunnerMax/TKScript// @version     6.2.9// @author      Czy// @match       *://wenku.baidu.com/view/*// @match       *://wenku.baidu.com/share/*// @match       *://wenku.baidu.com/link*// @match       *://wenku.baidu.com/aggs/*// @match       *://wenku.baidu.com/ndPureView/*// @match       *://www.51test.net/show/*// @match       *://www.xuexi.la/*// @match       *://www.xuexila.com/*// @match       *://www.cspengbo.com/*// @match       *://*.doc88.com/*// @match       *://segmentfault.com/*// @match       *://wk.baidu.com/view/*// @match       *://leetcode-cn.com/problems/*// @match       *://leetcode.cn/problems/*// @match       *://*.zhihu.com/*// @match       *://z.30edu.com.cn/*// @match       *://docs.qq.com/doc/*// @match       *://docs.qq.com/sheet/*// @match       *://docs.qq.com/slide/*// @match       *://boke112.com/post/*// @match       *://*.yuque.com/*// @match       *://www.commandlinux.com/*// @match       *://*.diyifanwen.com/*// @match       *://*.mbalib.com/*// @match       *://*.cnitpm.com/*// @match       *://bbs.mihoyo.com/ys/*// @match       *://*.ruiwen.com/*// @match       *://www.uemeds.cn/*// @match       *://www.oh100.com/*// @match       *://www.aiyuke.com/news/*// @match       *://www.fwsir.com/*// @match       *://www.wenxm.cn/*// @match       *://www.unjs.com/*// @match       *://www.ahsrst.cn/*// @match       *://*.yjbys.com/*// @match       *://*.qidian.com/*// @match       *://*.zongheng.com/*// @match       *://*.17k.com/*// @match       *://*.ciweimao.com/*// @match       *://book.qq.com/*// @match       *://*.360doc.com/content/*// @match       *://*.850500.com/news/*// @match       *://utaten.com/lyric/*// @match       *://*.jianbiaoku.com/*// @match       *://*.kt250.com/*// @match       *://www.kejudati.com/*// @match       *://*.xiao####shu.com/discovery/*// @match       *://*.baibeike.com/*// @match       *://*.blog.csdn.net/*// @match       *://*.bilibili.com/read/*// @match       *://*.cnki.net/KXReader/*// @match       *://*.cnrencai.com/*// @match       *://*.kodiplayer.cn/*// @match       *://tongxiehui.net/*// @match       *://*.jianshu.com/p/*// @match       *://*.linovelib.com/novel/*// @match       *://*.wjx.cn/*// @match       *://*.wjx.top/*// @match       *://*.chazidian.com/*// @match       *://*.juejin.cn/post/*// @match       *://*.zgbk.com/ecph/*// @match       *://*.wenmi.com/article/*// @match       *://yuedu.baidu.com/*// @match       *://www.inrrp.com.cn/*// @match       *://fanyi.baidu.com/mtpe/*// @match       *://www.shubaoc.com/*// @match       *://blog.51cto.com/*// @match       *://www.ximalaya.com/*// @match       *://*.tianqi.com/*// @match       *://*.xiexiebang.com/*// @match       *://*.docin.com/*// @match       *://*.ddwk8.cn/*// @match       *://*.php.cn/*// @match       *://cooco.net.cn/*// @match       *://fanqienovel.com/*// @match       *://*.mobiletrain.org/*// @match       *://*.examcoo.com/*// @match       *://*.rrdynb.com/*// @match       *://*.fuwu7.com/*// @match       *://*.xiangqiqipu.com/*// @match       *://note.youdao.com/*// @match       *://*.163.com/*// @match       *://*.aipiaxi.com/*// @match       *://wenku.csdn.net/*// @match       *://www.kdocs.cn/*// @match       *://www.xiaoyuzhoufm.com/*// @match       *://*.mcmod.cn/*// @match       *://*.zsxq.com/// @match       *://*.volcengine.com/*// @match       *://*.lyrical-nonsense.com/*// @match       *://*.xueqiu.com/*// @match       *://*.php.cn/*// @match       *://*.51cto.com/*// @match       *://*.educoder.net/*// @supportURL  https://github.com/WindrunnerMax/TKScript/issues// @license     GPL License// @run-at      document-start// @connect     res3.doc88.com// @grant       unsafeWindow// @grant       GM_xmlhttpRequest// ==/UserScript==(function () {'use strict';var css_248z$1 = ".__copy-button{align-items:center;background:#4c98f7;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:13px;height:30px;justify-content:center;opacity:0;position:absolute;transition:opacity .3s;width:60px;z-index:-1000}";var css_248z = "#select-tooltip,#sfModal,div[id^=reader-helper]{display:none!important}.modal-open{overflow:auto!important}._sf_adjust_body{padding-right:0!important}";const DOM_STAGE = {START: "document-start",END: "document-end"};const DOM_READY = "DOMContentLoaded";const PAGE_LOADED = "load";const MOUSE_UP = "mouseup";const MOUSE_DOWN = "mousedown";const MOUSE_MOVE = "mousemove";const COPY = "copy";const SELECT_START = "selectstart";const CONTEXT_MENU = "contextmenu";const KEY_DOWN = "keydown";const opt = Object.prototype.toString;function isString(value) {return opt.call(value) === "[object String]";}const dom = {query: function(selector) {return document.querySelector(selector);},attr: function(selector, attr, value) {const dom2 = document.querySelector(selector);dom2 && dom2.setAttribute(attr, value);},append: function(selector, content) {const container = document.createElement("div");if (isString(content)) {container.innerHTML = content;} else {container.appendChild(content);}const targetDOM = document.querySelector(selector);targetDOM && targetDOM.append(container);return container;},remove: function(selector) {const targetDOM = document.querySelector(selector);targetDOM && targetDOM.remove();}};const initBaseEvent = (websiteConfig) => {window.addEventListener(DOM_READY, () => {if (websiteConfig.initCopyEvent) {document.oncopy = (e) => e.stopPropagation();document.body.oncopy = (e) => e.stopPropagation();document.addEventListener(COPY, (e) => e.stopPropagation());document.body.addEventListener(COPY, (e) => e.stopPropagation());}});};const initBaseStyle = () => {window.addEventListener(DOM_READY, () => {dom.append("head", `<style>${css_248z$1}</style>`);dom.append("head", `<style>${css_248z}</style>`);});};/*!* 外部引用 static.doc88.com 声明* 此部分是在处理 doc88.com 才会加载的资源文件,此资源文件由该网站加载时提供*/let path = "";const website$u = {regexp: /.*doc88\.com\/.+/,init: () => {dom.append("body",`<style id="copy-element-hide">#left-menu{display: none !important;}</style>`);GM_xmlhttpRequest({method: "GET",url: "https://res3.doc88.com/resources/js/modules/main-v2.min.js?v=3.55",onload: function(response) {const r###lt = /\("#cp_textarea"\).val\(([\S]*?)\);/.exec(response.responseText);if (r###lt)path = r###lt[1];}});window.addEventListener("load", () => {const cpFn = unsafeWindow.copyText.toString();const fnR###lt = /<textarea[\s\S]*?>'\+([\S]*?)\+"<\/textarea>/.exec(cpFn);if (fnR###lt)path = fnR###lt[1];});},getSelectedText: () => {let select = unsafeWindow;path.split(".").forEach((v) => {select = select[v];});if (!select) {unsafeWindow.Config.vip = 1;unsafeWindow.Config.logined = 1;dom.remove("#copy-element-hide");}return select;}};const website$t = {regexp: /.*segmentfault\.com\/.+/,init: function() {const body = dom.query("body");if (body) {body.classList.add("_sf_adjust_body");body.onclick = () => {body.style.paddingRight = "0";};}}};const TEXT_PLAIN = "text/plain";const TEXT_HTML = "text/html";const execCopyCommand = (data) => {const textarea = document.createElement("textarea");const handler = (event) => {event.preventDefault();event.stopImmediatePropagation();for (const [key, value] of Object.entries(data)) {event.clipboardData && event.clipboardData.setData(key, value);}};textarea.addEventListener(COPY, handler, true);textarea.style.position = "fixed";textarea.style.left = "-999999999px";textarea.style.top = "-999999999px";textarea.value = data[TEXT_PLAIN] || " ";document.body.appendChild(textarea);textarea.select();document.execCommand("copy");textarea.removeEventListener(COPY, handler);document.body.removeChild(textarea);};const isEmptyContent = (data) => {if (!data)return true;return isString(data) ? !data : !data[TEXT_PLAIN];};const copy = (data) => {const params = isString(data) ? { [TEXT_PLAIN]: data } : data;const plainText = params[TEXT_PLAIN];if (!plainText)return false;if (navigator.clipboard && window.ClipboardItem) {const dataItems = {};for (const [key, value] of Object.entries(params)) {const blob = new Blob([value], { type: key });dataItems[key] = blob;}navigator.clipboard.write([new ClipboardItem(dataItems)]).catch(() => {execCopyCommand(params);});} else {execCopyCommand(params);}return true;};class Instance {constructor() {this.id = "__copy";this.className = "__copy-button";this.isReadyToHidden = false;this.dom = null;this.enable = () => {const dom = this.getInstance();dom.style.display = "flex";};this.disable = () => {const dom = this.getInstance();dom.style.display = "none";};this.destroy = () => {const el = this.getInstance();el.remove();this.dom = null;};this.init = (name) => {const container = document.createElement("div");container.id = this.id;container.className = this.className;container.innerText = name || "复制";container.addEventListener("mouseup", (e) => e.stopPropagation(), true);container.addEventListener("mousedown", (e) => e.stopPropagation(), true);this.dom = container;document.body.appendChild(this.dom);};this.getInstance = () => {if (this.dom === null) {this.init();}return this.dom;};this.show = (event) => {if (this.isReadyToHidden)return void 0;const dom = this.getInstance();dom.style.left = `${event.pageX + 30}px`;dom.style.top = `${event.pageY}px`;dom.style.opacity = "1";dom.style.zIndex = "1000";};this.hide = (keep = 350) => {const dom = this.getInstance();dom.style.opacity = "0";if (keep) {this.isReadyToHidden = true;setTimeout(() => {dom.style.zIndex = "-10000";this.isReadyToHidden = false;}, keep);}};this.onCopy = (content, event) => {const dom = this.getInstance();this.show(event);dom.onclick = () => {copy(content);this.hide();};};}}const instance = new Instance();const stopNativePropagation = (event2) => {event2.stopPropagation();};const event = {hideButton: () => {instance.disable();},showButton: () => {instance.enable();},removeAttributes: (selector, attr = []) => {const dom = isString(selector) ? document.querySelector(selector) : selector;dom && attr.forEach((item) => dom.removeAttribute(item));},enableUserSelectByCSS: () => {const css = "*{user-select: auto !important;-webkit-user-select: auto !important;}";const style = document.createElement("style");style.innerText = css;const head = document.getElementsByTagName("head")[0];if (head) {head.appendChild(style);} else {window.addEventListener(PAGE_LOADED,() => document.getElementsByTagName("head")[0].appendChild(style));}},enableOnSelectStart: (selector) => {const dom = document.querySelector(selector);dom && dom.addEventListener(SELECT_START, stopNativePropagation);},enableOnContextMenu: (selector) => {const dom = document.querySelector(selector);dom && dom.addEventListener(CONTEXT_MENU, stopNativePropagation);},enableOnCopy: (selector) => {const dom = document.querySelector(selector);dom && dom.addEventListener(COPY, stopNativePropagation);},enableOnKeyDown: (selector) => {const dom = document.querySelector(selector);dom && dom.addEventListener(KEY_DOWN, (e) => {if (e.key === "c" && e.ctrlKey)return e.stopPropagation();});},enableOnSelectStartByCapture: () => {window.addEventListener(SELECT_START, stopNativePropagation, true);document.addEventListener(SELECT_START, stopNativePropagation, true);},enableOnContextMenuByCapture: () => {window.addEventListener(CONTEXT_MENU, stopNativePropagation, true);document.addEventListener(CONTEXT_MENU, stopNativePropagation, true);},enableOnCopyByCapture: () => {window.addEventListener(COPY, stopNativePropagation, true);document.addEventListener(COPY, stopNativePropagation, true);},enableOnKeyDownByCapture: () => {document.addEventListener(KEY_DOWN,(e) => e.ctrlKey && e.key.toLocaleUpperCase() === "C" && e.stopPropagation(),true);}};const website$s = {regexp: /.*wk\.baidu\.com\/view\/.+/,init: function() {event.hideButton();event.enableOnSelectStartByCapture();window.onload = () => {dom.attr(".sf-edu-wenku-vw-container", "style", "");};}};const website$r = {regexp: /.*zhihu\.com\/.*/,init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopyByCapture();if (location.hostname === "zhuanlan.zhihu.com") {const removeFocalPointModal = (mutationsList) => {for (const mutation of mutationsList) {const addedNodes = mutation.addedNodes;for (let i = 0; i < addedNodes.length; i++) {const target = addedNodes[i];if (target.nodeType != 1)return void 0;if (target instanceof HTMLDivElement && target.querySelector("[data-focus-scope-start]")) {const element = target.querySelector("[data-focus-scope-start]");element && element.parentElement && element.parentElement.textContent && element.parentElement.textContent.indexOf("立即登录/注册") > -1 && element.parentElement.parentElement && element.parentElement.parentElement.removeChild(element.parentElement);}}}};const observer = new MutationObserver(removeFocalPointModal);observer.observe(document, { childList: true, subtree: true });}}};const website$q = {regexp: /.*30edu\.com\.cn\/.+/,init: function() {window.onload = () => {var _a;const iframes = document.getElementsByTagName("iframe");if (iframes.length === 2) {const body = (_a = iframes[1].contentWindow) == null ? void 0 : _a.document.querySelector("body");body && event.removeAttributes(body, ["oncopy", "oncontextmenu", "onselectstart"]);}};}};const website$p = {regexp: /.*docs\.qq\.com\/(doc)|(sheet)\/.+/,config: {initCopyEvent: false,captureInstance: true,delay: 100},init: function() {window.onload = () => {instance.disable();};},getSelectedText: function() {var _a;if (unsafeWindow.pad && unsafeWindow.pad.editor && !unsafeWindow.pad.editor.isCopyable()) {instance.enable();const editor = unsafeWindow.pad.editor;if (editor.getCopyContent) {const content = editor.getCopyContent() || {};const plainText = content.plain || "";const htmlText = content.html || "";return {[TEXT_PLAIN]: plainText,[TEXT_HTML]: htmlText};} else {editor._docEnv.copyable = true;editor.clipboardManager.copy();const plainText = editor.clipboardManager.customClipboard.plain || "";const htmlText = editor.clipboardManager.customClipboard.html || "";editor._docEnv.copyable = false;return {[TEXT_PLAIN]: plainText,[TEXT_HTML]: htmlText};}}if (unsafeWindow.SpreadsheetApp && unsafeWindow.SpreadsheetApp.permissions && unsafeWindow.SpreadsheetApp.permissions.sheetStatus && unsafeWindow.SpreadsheetApp.permissions.sheetStatus.canCopy === false && unsafeWindow.SpreadsheetApp.permissions.sheetStatus.canEdit && unsafeWindow.SpreadsheetApp.permissions.sheetStatus.canEdit() === false) {instance.enable();const SpreadsheetApp = unsafeWindow.SpreadsheetApp;const [selection] = SpreadsheetApp.view.getSelectionRanges();if (selection) {const text = [];const { startColIndex, startRowIndex, endColIndex, endRowIndex } = selection;for (let i = startRowIndex; i <= endRowIndex; i++) {for (let k = startColIndex; k <= endColIndex; k++) {const cell = SpreadsheetApp.workbook.activeSheet.getCellDataAtPosition(i, k);if (!cell)continue;text.push(" ", ((_a = cell.formattedValue) == null ? void 0 : _a.value) || cell.value || "");}i !== endRowIndex && text.push("\n");}const str = text.join("");return /^\s*$/.test(str) ? "" : str;}}return "";}};const website$o = {regexp: /.*docs\.qq\.com\/slide\/.+/,config: {initCopyEvent: false,captureInstance: true,runAt: "document-start"},init: function() {let webpackJsonp = unsafeWindow.webpackJsonp;Object.defineProperty(unsafeWindow, "webpackJsonp", {get() {return webpackJsonp;},set(newValue) {if (newValue.push.__HOOKED__) {return;}webpackJsonp = newValue;const originPush = webpackJsonp.push;function push(...args) {const [, mods] = args[0];for (const [key, fn] of Object.entries(mods)) {const stringifyFn = String(fn);if (/this\.shouldResponseCopy\(/.test(stringifyFn)) {const next = stringifyFn.replace(/this\.shouldResponseCopy\(/g, "(() => true)(");mods[key] = new Function(`return (${next})`)();}}return originPush.call(this, ...args);}push.__HOOKED__ = 1;webpackJsonp.push = push;}});window.onload = () => {instance.disable();};}};const website$n = {regexp: new RegExp(".+://boke112.com/post/.+"),init: function() {event.enableOnCopyByCapture();const template = `<style>:not(input):not(textarea)::selection {background-color: #2440B3 !important;color: #fff !important;}:not(input):not(textarea)::-moz-selection {background-color: #2440B3 !important;color: #fff !important;}</style>`;dom.append("head", template);}};const website$m = {regexp: /diyifanwen/,init: function() {event.hideButton();event.enableOnCopyByCapture();event.enableOnKeyDownByCapture();}};const website$l = {regexp: /mbalib/,init: function() {window.onload = () => {event.removeAttributes("fullScreenContainer", ["oncopy", "oncontextmenu", "onselectstart"]);};}};const website$k = {regexp: /cnitpm/,init: function() {event.hideButton();window.onload = () => {event.removeAttributes("body", ["oncopy", "oncontextmenu", "onselectstart"]);};}};const website$j = {regexp: new RegExp(".+bbs.mihoyo.com/.+"),init: function() {event.hideButton();event.enableOnCopyByCapture();event.enableOnSelectStartByCapture();event.enableUserSelectByCSS();}};const website$i = {regexp: new RegExp(".+www.uemeds.cn/.+"),init: function() {event.hideButton();event.enableUserSelectByCSS();}};const website$h = {regexp: new RegExp(".+aiyuke.com/news/.+"),init: function() {event.hideButton();event.enableUserSelectByCSS();}};const website$g = {regexp: new RegExp("qidian"),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopy(".main-read-container");event.enableOnContextMenu(".main-read-container");}};const website$f = {regexp: new RegExp("zongheng"),init: function() {event.removeAttributes(".reader_box", ["style", "unselectable", "onselectstart"]);event.removeAttributes(".reader_main", ["style", "unselectable", "onselectstart"]);event.hideButton();event.enableOnKeyDown("body");event.enableUserSelectByCSS();event.enableOnCopy(".content");event.enableOnContextMenu("body");event.enableOnSelectStart(".content");}};const website$e = {regexp: new RegExp("17k"),init: () => {event.hideButton();event.enableOnCopy(".readAreaBox .p");}};const website$d = {regexp: new RegExp("ciweimao"),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopy("#J_BookCnt");event.enableOnContextMenu("body");event.enableOnSelectStart("#J_BookCnt");}};const website$c = {regexp: new RegExp("book\\.qq"),init: function() {event.hideButton();event.enableOnCopy("body");event.enableUserSelectByCSS();event.enableOnContextMenu("body");event.enableOnSelectStart("body");}};const website$b = {regexp: new RegExp("utaten"),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnSelectStartByCapture();}};let preSelectedText = "";let curSelectedText = "";const website$a = {config: {runAt: "document-start"},regexp: new RegExp("wenku.baidu.com/(view|link|aggs).*"),init: function() {dom.append("head", `<style>@media print { body{ display:block; } }</style>`);let canvasDataGroup = [];const originObject = {context2DPrototype: unsafeWindow.document.createElement("canvas").getContext("2d").__proto__};document.createElement = new Proxy(document.createElement, {apply: function(target, thisArg, argumentsList) {const element = Reflect.apply(target, thisArg, argumentsList);if (argumentsList[0] === "canvas") {const tmpData = {canvas: element,data: []};element.getContext("2d").fillText = function(...args) {tmpData.data.push(args);originObject.context2DPrototype.fillText.apply(this, args);};canvasDataGroup.push(tmpData);}return element;}});let pageData = {};Object.defineProperty(unsafeWindow, "pageData", {set: (v) => pageData = v,get: function() {if (!pageData.vipInfo)return pageData.vipInfo = {};pageData.vipInfo.global_svip_status = 1;pageData.vipInfo.global_vip_status = 1;pageData.vipInfo.isVip = 1;pageData.vipInfo.isWenkuVip = 1;return pageData;}});const templateCSS = ["<style id='copy-template-css'>","body{overflow: hidden !important}","#copy-template-html{position: fixed; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center;z-index: 999999; background: rgba(0,0,0,0.5);}","#copy-template-html > .template-container{height: 80%; width: 80%; background: #fff; }",".template-container > .title-container{display: flex; align-items: center; justify-content: space-between;padding: 10px;border-bottom: 1px solid #eee;}","#copy-template-text{height: 100%; width: 100%;position: relative; overflow: auto;background: #fff;}","#copy-template-html #template-close{cursor: pointer;}","</style>"].join("");const render = () => {canvasDataGroup = canvasDataGroup.filter((item) => item.canvas.id);const templateText = canvasDataGroup.map((canvasData, index) => {const computedTop = index * Number(canvasData.canvas.clientHeight);const textItem = canvasData.data.map((item) => `<div style="position: absolute; left: ${item[1]}px; top: ${item[2] + computedTop}px">${item[0]}</div>`);return textItem.join("");});const templateHTML = ["<div id='copy-template-html'>","<div class='template-container'>","<div class='title-container'>","<div>请自行复制</div>","<div id='template-close'>关闭</div>","</div>","<div id='copy-template-text'>",templateText.join(""),"</div>","</div>","</div>"].join("");dom.append("body", templateHTML);dom.append("body", templateCSS);const closeButton = document.querySelector("#copy-template-html #template-close");const close = () => {dom.remove("#copy-template-html");dom.remove("#copy-template-css");closeButton && closeButton.removeEventListener("click", close);};closeButton && closeButton.addEventListener("click", close);};document.addEventListener("DOMContentLoaded", () => {dom.append("head",`<style>#copy-btn-wk{padding: 10px; background: rgba(0,0,0,0.5);position: fixed; left:0; top: 40%;cursor: pointer;color: #fff; z-index: 99999;}</style>`);dom.append("body", "<div id='copy-btn-wk'>复制</div>");const btn = dom.query("#copy-btn-wk");btn && (btn.onclick = render);});},getSelectedText: () => {if (window.getSelection && (window.getSelection() || "").toString()) {return (window.getSelection() || "").toString();}try {const elements = unsafeWindow.document.querySelectorAll("#app > div");for (const item of elements) {const vue = item.__vue__;if (vue) {const text = vue.$store.getters["readerPlugin/selectedTextTrim"];text && (curSelectedText = text);break;}}} catch (error) {console.warn("GET TEXT FAIL", error);}if (!curSelectedText) {const r###lt = /查看全部包含“([\s\S]*?)”的文档/.exec(document.body.innerHTML);r###lt && r###lt[1] && (curSelectedText = r###lt[1]);}if (curSelectedText && preSelectedText !== curSelectedText) {preSelectedText = curSelectedText;return curSelectedText;}return "";}};const website$9 = {regexp: new RegExp("xiao####shu"),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnKeyDownByCapture();}};const website$8 = {regexp: new RegExp("leetcode"),init: function() {event.hideButton();window.addEventListener(PAGE_LOADED, () => {event.enableOnCopy("#lc-home");event.enableOnCopy("[data-layout-path='/ts0/t1']");});}};const website$7 = {regexp: /csdn/,init: function() {event.hideButton();event.enableOnCopyByCapture();event.enableUserSelectByCSS();}};const website$6 = {regexp: new RegExp("bilibili"),init: function() {event.hideButton();event.enableOnCopyByCapture();}};const website$5 = {regexp: new RegExp("cnki"),init: function() {event.hideButton();event.enableOnContextMenuByCapture();event.enableOnKeyDownByCapture();event.enableOnCopyByCapture();}};const website$4 = {regexp: new RegExp("docin.com/.*"),config: {initCopyEvent: false,captureInstance: true,delay: 100},init: function() {window.addEventListener(PAGE_LOADED, () => {var _a;return (_a = dom.query("#j_select")) == null ? void 0 : _a.click();});dom.append("head", "<style>#reader-copy-el{display: none;}</style>");},getSelectedText: function() {if (unsafeWindow.docinReader && unsafeWindow.docinReader.st) {return unsafeWindow.docinReader.st;}return "";}};const website$3 = {config: {initCopyEvent: false},regexp: /note\.youdao\.com\/newEditorV1\/bulb\.html.*/,init: function() {event.hideButton();if (window.parent && window.parent.location.href.indexOf("ynoteshare") > -1) {event.enableUserSelectByCSS();document.addEventListener(MOUSE_DOWN, stopNativePropagation, true);document.addEventListener(MOUSE_MOVE, stopNativePropagation, true);}}};const website$2 = {regexp: new RegExp(["commandlinux","cnki","ruiwen","oh100","fwsir","wenxm","unjs","ahsrst","yjbys","360doc","850500","jianbiaoku","kt250","kejudati","baibeike","yuque","cnrencai","kodiplayer","tongxiehui","ndPureView","jianshu","linovelib","chazidian","juejin","zgbk","wenmi","yuedu\\.baidu","inrrp","shubaoc","51cto","ximalaya","xiexiebang","ddwk8","php\\.cn","fanqienovel\\.com/reader","cooco\\.net\\.cn","mobiletrain","xiangqiqipu","m\\.163\\.com","aipiaxi","wenku\\.csdn\\.net","xiaoyuzhoufm\\.com","mcmod\\.cn","zsxq\\.com","volcengine\\.com","lyrical-nonsense\\.com","xueqiu\\.com","php\\.cn","51cto\\.com","educoder\\.net"].join("|")),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopyByCapture();}};const website$1 = {regexp: new RegExp(["wjx", "fanyi\\.baidu", "tianqi", "rrdynb", "fuwu7"].join("|")),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopyByCapture();event.enableOnKeyDownByCapture();event.enableOnSelectStartByCapture();event.enableOnContextMenuByCapture();}};const website = {config: {runAt: DOM_STAGE.START},regexp: new RegExp(["examcoo"].join("|")),init: function() {event.hideButton();event.enableUserSelectByCSS();event.enableOnCopyByCapture();event.enableOnKeyDownByCapture();event.enableOnSelectStartByCapture();event.enableOnContextMenuByCapture();}};const kdoc = {config: {runAt: DOM_STAGE.START},regexp: new RegExp("kdocs"),init: function() {const patch = () => {unsafeWindow.APP && (unsafeWindow.APP.canCopy = () => true);};if (unsafeWindow.APP) {patch();} else {let APP = void 0;Object.defineProperty(unsafeWindow, "APP", {configurable: false,set: (value) => {APP = value;value && patch();},get: () => APP});}}};const websites = [website$t,website$s,website$r,website$q,website$o,website$p,website$n,website$m,website$l,website$k,website$j,website$i,website$h,website$g,website$f,website$e,website$d,website$c,website$b,website$a,website$9,website$u,website$8,website$7,website$6,website$5,website$4,website$3,kdoc,website$2,website$1,website];let siteGetSelectedText = null;const initWebsite = () => {let websiteConfig = {initCopyEvent: true,runAt: DOM_STAGE.END,captureInstance: false,delay: 0};const mather = (regex, website) => {if (regex.test(window.location.href)) {if (website.config) {websiteConfig = Object.assign(websiteConfig, website.config);}if (websiteConfig.runAt === DOM_STAGE.END) {window.addEventListener(DOM_READY, () => website.init());} else {website.init();}if (website.getSelectedText) {siteGetSelectedText = website.getSelectedText;}return true;}return false;};websites.some((website) => mather(website.regexp, website));return websiteConfig;};const getSelectedText = () => {if (siteGetSelectedText)return siteGetSelectedText();if (window.getSelection)return (window.getSelection() || "").toString();if (document.getSelection)return (document.getSelection() || "").toString();if (document.selection)return document.selection.createRange().text;return "";};(function() {const websiteConfig = initWebsite();initBaseEvent(websiteConfig);initBaseStyle();window.addEventListener(MOUSE_UP,(e) => {const handler = () => {const content = getSelectedText();if (isEmptyContent(content)) {instance.hide();return void 0;}instance.onCopy(content, e);};websiteConfig.delay ? setTimeout(handler, websiteConfig.delay) : handler();},websiteConfig.captureInstance);})();}());