您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
使不能选中的选中,使不能复制的复制。使用:选中网页内的元素,按C、F、K任意一键即可复制
// ==UserScript== // @name 轻复制CSDN(LiteCopy) // @namespace http://tampermonkey.net/ // @version 2024-06-26-2 // @description 使不能选中的选中,使不能复制的复制。使用:选中网页内的元素,按C、F、K任意一键即可复制 // @author zcg // @match *.csdn.net/* // @grant none // ==/UserScript== (function() { 'use strict'; // TODO // 1. 确保标签最高优先级,目前方式影响最小,但缺点是应对不了大版本更新,其他标签不能选中也可添加标签,或者直接全局元素无脑添加属性。 // 2. 放开copy api权限可能会影响源站页面直接向粘贴板内拉屎,可以改成其他方式 console.log("轻复制插件加载成功") document.addEventListener('keydown', function(event) { // 检查是否按下了'c'键或'f'键 if (event.key === 'c' || event.key === 'f' || event.key === 'k' || event.key === 'C' || event.key === 'F'|| event.key === 'K') { // 获取当前选中的文本 var selectedText = window.getSelection().toString(); // 如果选中的文本不为空,则尝试复制到剪贴板 if (selectedText) { navigator.clipboard.writeText(selectedText).then(function() { console.log('文本已成功复制到剪贴板'); }).catch(function(err) { // 这将在用户拒绝剪贴板权限时触发 console.error('无法复制文本: ', err); }); }else{ console.warn('文本为空或其他异常'); } } }); // 获取页面中所有的<code>标签 var codeElements = document.getElementsByTagName('code'); // 遍历这些标签并设置user-select属性 for (var i = 0; i < codeElements.length; i++) { codeElements[i].style.userSelect = 'text'; // 同时,为了兼容某些浏览器,也设置其他可能的属性名称 codeElements[i].style.MozUserSelect = 'text'; // Firefox codeElements[i].style.msUserSelect = 'text'; // IE/Edge codeElements[i].style.KhtmlUserSelect = 'text'; // Konqueror codeElements[i].style.WebkitUserSelect = 'text'; // Safari, Chrome } })();