CSDN文库免vip阅读全文,解锁复制限制

CSDN文库阅读全文,去除VIP登录遮罩,解锁鼠标复制功能

// ==UserScript==
// @name         CSDN文库免vip阅读全文,解锁复制限制
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  CSDN文库阅读全文,去除VIP登录遮罩,解锁鼠标复制功能
// @author       icescat
// @match        *://*.csdn.net/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    const adjustArticle = () => {
        // 移除遮罩层
        document.querySelectorAll('.open, .vip').forEach(el => el.remove());

        // 展开被限制高度的内容
        const articleContainer = document.querySelector('.article-box .cont.first-show[data-v-6487a68f]');
        if (articleContainer) {
            articleContainer.style.maxHeight = 'none';
        }
    };

    // 启用复制功能
    const enableCopy = () => {
        document.body.oncopy = null;
        document.oncopy = null;
        document.querySelectorAll('*').forEach(el => {
            el.style.userSelect = 'auto';
        });
    };

    // 使用MutationObserver来监视文档的变化
    const observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
            if (mutation.addedNodes.length) {
                adjustArticle();
                enableCopy();
            }
        });
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // 页面加载时尝试执行一次
    window.addEventListener('load', () => {
        adjustArticle();
        enableCopy();
    });
})();