您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
去掉复制极客时间专栏文章时的版权提示和字数限制(注意:仅用于个人笔记用途,请遵守版权协议,如果您认为侵犯了您的权益,请通知我删除)(from:alastairruhm 修改后)
// ==UserScript== // @name 极客时间专栏 WEB 页面剪贴板功能还原 // @namespace http://tampermonkey.net/ // @version 1.3 // @description 去掉复制极客时间专栏文章时的版权提示和字数限制(注意:仅用于个人笔记用途,请遵守版权协议,如果您认为侵犯了您的权益,请通知我删除)(from:alastairruhm 修改后) // @author jpz // @license MIT License // @match https://time.geekbang.org/column/article/* // @grant unsafeWindow // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js // @require https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=19641 // @note 2018.09.30-V1.1 增加 LICENSE // ==/UserScript== // 官方事件注册的位置的下一个子元素 var targetSelector = "#app > div > div > div > div > div > div > div"; // need to wait for article content loaded after ajax request waitForKeyElements(targetSelector, cleanClipboard); function cleanClipboard() { 'use strict'; // 监听复制事件 $(targetSelector).on('copy', function(evt) { // 获取要复制的内容 var selection = window.getSelection().toString(); // 定义版权文字中的URL模式 var copyrightUrlPattern = /https:\/\/time\.geekbang\.org\/column\/article\/[\w-]+/g; // 检查选中的文本中是否包含版权URL if (selection.match(copyrightUrlPattern)) { // 移除版权URL var cleanedText = selection.replace(copyrightUrlPattern, ''); // 设置新的文本到剪贴板 evt.originalEvent.clipboardData.setData('text/plain', cleanedText); evt.originalEvent.clipboardData.setData('text/html', cleanedText); // 阻止默认的复制操作 evt.preventDefault(); } });}