// ==UserScript== // @name 文本选中复制 // @namespace https://github.com/WindrunnerMax/TKScript // @version 1.0 // @description 文本选中后点击复制按钮即可复制,目前主要用于百度文库 // @author Czy // @include https://wenku.baidu.com/view/* // @include https://www.51test.net/show/* // @include http://www.xuexi.la/* // @include https://www.xuexila.com/* // @include https://www.cspengbo.com/* // @require https://cdn.bootcss.com/jquery/2.1.2/jquery.min.js // @require https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js // @downloadURL none // ==/UserScript== (function() { "use strict"; var $ = window.$; var ClipboardJS = window.ClipboardJS; // https://clipboardjs.com/#example-text function getSelectedText() { if(window.getSelection) return window.getSelection().toString(); else if(document.getSelection) return document.getSelection(); else if(document.selection) return document.selection.createRange().text; } (function(){ document.addEventListener("mouseup", (e) => { var copyText = getSelectedText(); if(copyText) console.log(copyText) else return ""; $("#_copy").remove(); var template = `
复制
`; $("body").append(template); $("#_copy").on("mousedown", (event) => { event.stopPropagation(); }) new ClipboardJS('#_copy'); }); })(); (function(){ var template = ` `; $("head").prepend(template); ClipboardJS.prototype.on('success', function(e) { $("#_copy").html("复制成功"); setTimeout(() => $("#_copy").fadeOut(1000), 1000); e.clearSelection(); }); ClipboardJS.prototype.on('error', function(e) { $("#_copy").html("复制失败"); setTimeout(() => $("#_copy").fadeOut(1000), 1000); e.clearSelection(); }); $("body").on("mousedown", (e) => { $("#_copy").remove(); }) document.oncopy = () => {} $("body").on("copy", (e) => { e.stopPropagation(); return true; }) })(); })(); /** * 文库下载 * https://www.wenku.zone/ * http://wenku.baiduvvv.com/ */