吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2489|回复: 16
上一主题 下一主题
收起左侧

[Java 原创] 油猴脚本chrome一键进入纯净阅读模式,缩屏摸鱼必备

  [复制链接]
跳转到指定楼层
楼主
sosme2012 发表于 2026-1-27 17:39 回帖奖励
本帖最后由 sosme2012 于 2026-1-27 17:41 编辑

主要功能:快捷键ctrl+y进入纯净阅读模式

chrome浏览器上测试完美如下图,其他浏览器没测试



将下面源码直接在油猴面板添加即可,进入和退出快捷键均为ctrl+y

[Java] 纯文本查看 复制代码
// ==UserScript==
// @name         极简全屏阅读器
// @description  极简simple read、纯净文本、摸鱼用
// @match        *://*/*
// ==/UserScript==

(function() {
    'use strict';

    let readerOverlay = null;

    // 核心样式:强制覆盖一切
    const style = `
        #gm-reader-overlay {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            background-color: #ffffff !important;
            z-index: 2147483647 !important;
            overflow-y: auto !important;
            display: flex !important;
            justify-content: center !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        #gm-reader-wrapper {
            width: 90% !important;
            max-width: 700px !important; /* 针对窄屏优化的黄金宽度 */
            padding: 60px 20px !important;
            background: #ffffff !important;
            box-sizing: border-box !important;
            text-align: left !important;
        }

        /* 仅显示纯文本样式 */
        .gm-reader-title {
            font-size: 2em !important;
            font-weight: bold !important;
            margin-bottom: 1em !important;
            line-height: 1.3 !important;
            color: #1a1a1a !important;
        }

        .gm-reader-p {
            font-size: 18px !important;
            line-height: 1.8 !important;
            color: #333 !important;
            margin-bottom: 1.5em !important;
            font-family: -apple-system, "Noto Sans SC", "Microsoft Yahei", serif !important;
            word-break: break-word !important;
        }
    `;

    GM_addStyle(style);

    function toggleReadingMode() {
        if (readerOverlay) {
            // 退出模式
            readerOverlay.remove();
            readerOverlay = null;
            document.body.style.overflow = ''; // 恢复滚动
            return;
        }

        // 提取逻辑:寻找正文
        const main = document.querySelector('article') || 
                     document.querySelector('main') || 
                     document.querySelector('.content') || 
                     document.body;

        // 提取标题和所有段落文本
        const title = document.title.split('-')[0].split('_')[0]; // 尝试获取纯净标题
        const paragraphs = main.querySelectorAll('p, h1, h2, h3, h4, li');
        
        let cleanHTML = `<div class="gm-reader-title">${title}</div>`;
        
        paragraphs.forEach(el => {
            const text = el.innerText.trim();
            if (text.length > 10) { // 过滤掉太短的干扰项(如导航文字)
                cleanHTML += `<div class="gm-reader-p">${text}</div>`;
            }
        });

        // 如果没抓取到内容,降级处理
        if (paragraphs.length < 3) {
             cleanHTML += `<div class="gm-reader-p">未能提取到长段落,可能是异步加载或结构特殊。</div>`;
        }

        // 创建全屏图层
        readerOverlay = document.createElement('div');
        readerOverlay.id = 'gm-reader-overlay';
        
        const wrapper = document.createElement('div');
        wrapper.id = 'gm-reader-wrapper';
        wrapper.innerHTML = cleanHTML;
        
        readerOverlay.appendChild(wrapper);
        document.documentElement.appendChild(readerOverlay);
        
        // 锁定原网页滚动
        document.body.style.overflow = 'hidden';
    }

    // 快捷键监听
    window.addEventListener('keydown', (e) => {
        if (e.ctrlKey && e.key.toLowerCase() === 'y') {
            e.preventDefault();
            toggleReadingMode();
        }
    });
})();

免费评分

参与人数 4吾爱币 +10 热心值 +3 收起 理由
绫白Leo + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
buluo533 + 1 + 1 用心讨论,共获提升!
Duke0910 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
炫迈 发表于 2026-1-28 10:07
看到有老哥问油猴咋用,我说一下,先去chrome应用商店搜Tampermonkey装上扩展,装好后点扩展图标选添加新脚本,把楼主给的代码全复制粘贴进去保存,刷新当前网页就能用按住ctrl再按y的快捷键了。新手容易卡在没装扩展或者代码粘贴后没保存,多试一次就顺了。
脚本本身挺清爽,我日常看技术文也用类似思路,补充个小经验,遇到提取内容少的网站,可以按F12看看正文区域的class或id,回头在脚本里querySelector那行加个你看到的选择器,比如加个.content-wrap,改完保存刷新就行。动态加载的页面记得等文字全出来再按快捷键。
推荐
ximing521 发表于 2026-1-29 09:24
GM_addStyle这个方法我的油猴报错, 可能是版本问题,  使用原生js可以解决
[JavaScript] 纯文本查看 复制代码
const addStyle = (css) => {
    const style = document.createElement('style');
    style.textContent = css;
    document.head.appendChild(style);
};
沙发
picoyiyi 发表于 2026-1-27 18:42
3#
zt185 发表于 2026-1-27 19:18
这个插件实用,下载装一个!
4#
gztf 发表于 2026-1-27 19:56
很实用插件啊!感谢!
5#
mzu214 发表于 2026-1-27 20:16
好插件,感谢博主分享,用我本地通用的祝福语:旺哦
6#
mrx2024 发表于 2026-1-27 22:21
不错很好用
7#
jesseding 发表于 2026-1-28 01:19
谢谢分享,刚好能用上
8#
maike9220 发表于 2026-1-28 03:09
试试这个油猴脚本 感谢
9#
zjtzjt 发表于 2026-1-28 06:42
摸鱼神器啊
10#
lzbpp 发表于 2026-1-28 07:52
楼主技术流哇  请问有 油猴使用的小白教程吗  我总是用不起来油猴
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-6 02:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表