您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
通过 GM_webRequest 阻止加载任何路径包含 readmore.js 的脚本文件。
// ==UserScript== // @name 阻止 "阅读全文/readmore" // @name:en Block readmore.js Request // @namespace http://tampermonkey.net/ // @version 1.0 // @description 通过 GM_webRequest 阻止加载任何路径包含 readmore.js 的脚本文件。 // @description:en Blocks requests to any script file whose path contains readmore.js using GM_webRequest. // @author AI Assistant & Your Name // @match *://*/* // @grant GM_webRequest // @run-at document-start // @icon https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net // @license MIT // ==/UserScript== (function() { 'use strict'; // --- 配置 --- // 你可以在这里修改要阻止的脚本文件名或路径中的关键字 const blockKeyword = 'readmore.js'; // 是否在控制台输出阻止日志 const enableLogging = true; // --- 配置结束 --- // 检查 GM_webRequest 是否可用 if (typeof GM_webRequest === 'undefined') { if (enableLogging) { console.error(`[阻止 ${blockKeyword}] 错误: GM_webRequest API 不可用。请确保您的用户脚本管理器(如 Tampermonkey)支持此功能,并且脚本已获得相应授权。`); } // 可以取消注释下一行以弹窗提示用户,但这可能会比较烦人 // alert(`【${blockKeyword} 阻止脚本】需要 GM_webRequest API,您的环境可能不支持或未授权。`); return; } if (enableLogging) { console.log(`[阻止 ${blockKeyword}] 脚本已启动,尝试添加规则以阻止包含 "${blockKeyword}" 的请求。`); } // 定义 web 请求规则 const rules = [ { // 选择器:匹配所有 URL 路径中包含 blockKeyword 的请求 // 语法 '*://*/*<keyword>*' 匹配任何协议、任何域名下,路径中包含 <keyword> 的 URL selector: `*://*/*${blockKeyword}*`, // 操作:取消(阻止)匹配到的请求 action: { cancel: true } } ]; // 应用规则 try { // GM_webRequest 的注册函数本身可能返回一个包含 ruleId 的对象,或通过回调传递信息 // Tampermonkey 文档建议使用回调方式处理结果 GM_webRequest(rules, (info, message, details) => { // 这个回调主要用于确认规则添加/移除状态或报告错误 // 它通常不会在每次请求被阻止时触发 (因为 action: { cancel: true } 直接处理了) if (message === 'ruleAdded') { if (enableLogging) { console.log(`[阻止 ${blockKeyword}] 规则添加成功: ${JSON.stringify(details.rule)} (ID: ${details.ruleId})`); } } else if (message === 'ruleRemoved') { if (enableLogging) { console.log(`[阻止 ${blockKeyword}] 规则已移除: ${JSON.stringify(details.rule)} (ID: ${details.ruleId})`); } } else if (message === 'error') { console.error(`[阻止 ${blockKeyword}] 应用规则时出错: ${details.error} - 规则: ${JSON.stringify(details.rule)}`); // alert(`应用请求阻止规则时出错: ${details.error}`); } // 注意:info, message, details 的具体内容和触发时机可能因用户脚本管理器和规则类型而异。 // 对于 {cancel: true} 规则,主要关注 'ruleAdded' 和 'error' 消息。 }); } catch (e) { console.error(`[阻止 ${blockKeyword}] 设置 GM_webRequest 时发生意外错误:`, e); alert(`【${blockKeyword} 阻止脚本】设置请求阻止规则时发生错误,请检查浏览器控制台获取详细信息。`); } })();