// ==UserScript== // @name 百度文库文字复制 // @namespace BlueFire // @version 0.72 // @description 添加一个按钮,复制百度文库中的文字 // @author BlueFire // @match *://wenku.baidu.com/view/* // @grant unsafeWindow // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; if(!$){ var s = document.createElement ("script"); s.src = "http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js"; s.async = false; document.documentElement.appendChild (s); } let timeoutId = -1; let downloadBtn = '
复制此页
'; let toastDiv = '
'; let opacity = '0.95'; let ua = navigator.userAgent; if(ua.indexOf("Edge") >= 0){ opacity = '0.6'; } else if(ua.indexOf("Chrome")){ opacity = '0.95'; } let textBlockDiv = '
"'; function Copy(str){ let result = false; let save = function(e){ e.clipboardData.setData('text/plain', str); e.preventDefault(); } document.addEventListener('copy', save); result = document.execCommand('copy'); document.removeEventListener('copy',save); return result; } function ShowToast(str){ if(timeoutId >= 0){ clearTimeout(timeoutId); } $('#page-toast-div').remove(); $('body').append(toastDiv); $('#page-toast-span').text(str); timeoutId=setTimeout("$('#page-toast-div').remove();",1500); } function ShowTextBlock(str){ $('#page-textblock-div').remove(); $('body').append(textBlockDiv); $('#page-textblock').text(str); $('#page-textblock-cancel-layer').click(function(){ $('#page-textblock-div').remove(); }); } function PrependButtonTo(ele){ ele.prepend(downloadBtn); ele.find('#reader-copy-text').click(function(){ let str = ""; let parent = $(this).parent().parent(); parent.find('.reader-word-layer').each(function(){ str += this.innerText.replace(/\u2002/g,' '); }); str = str.replace(/。\s/g,'。\r\n'); let result= (str.length > 0); if(result){ ShowToast("解析成功"); ShowTextBlock(str); }else{ ShowToast("解析失败,请等待网页加载"); } }); } $(document).ready(function(){ $('.mod.reader-page.complex').each(function(){ PrependButtonTo($(this)); }); }); })();