Via风格自定义规则管理器 - 详细说明
🎯 脚本简介
Via风格自定义规则管理器 是一个用户脚本(UserScript),可以在任何网页上提供类似Via浏览器的自定义规则功能。它允许您通过CSS选择器隐藏网页上的特定元素(如广告、弹窗、干扰元素等),并按照域名进行分组管理。
✨ 主要特性
- 规则管理
· 按域名分组显示所有规则
· 可展开/折叠查看每个域名的具体规则
· 支持删除单个规则或整个域名的所有规则
· 实时显示规则状态(绿色圆点表示规则在当前页面生效)
- 便捷操作
· 批量添加规则(每行一条)
· 导入/导出规则(支持文本和文件)
· 两种导入模式:合并导入(保留现有规则)和替换导入(清空后导入)
· 自动应用规则,无需刷新页面
- 智能功能
· 自动识别当前域名
· 当前域名规则高亮显示
· 支持通配符域名(如 *.baidu.com)
· 规则置顶排序选项(当前域名规则可优先显示)
📦 安装要求
- 浏览器扩展:
· Tampermonkey(推荐)
· Violentmonkey
· Greasemonkey - 安装步骤:
· 安装上述任一扩展
· 创建新脚本
· 将提供的完整代码复制粘贴到编辑器中
· 保存并启用脚本
🛠️ 使用方法
打开管理界面
· 方法1:点击浏览器用户脚本管理器的图标,选择"📋 自定义规则"
· 方法2:脚本将在匹配的网页上自动运行
界面说明
- 规则管理标签页
📊 统计信息
- 总规则数
- 域名数量
- 当前域名生效规则数
📁 域名分组
- 绿色圆点:规则在当前页面生效
- 灰色圆点:规则在当前页面未生效
- "当前"标签:表示当前访问的域名
- 点击域名可展开/折叠规则列表
- 添加规则标签页
· 文本输入框:每行一条规则
· 格式:域名##CSS选择器
· 示例:
www.example.com##.ad-banner
*.google.com###ads
youtube.com##.video-ads
- 工具标签页
📤 导出功能
- 复制到剪贴板
- 下载为文本文件
📥 导入功能
- 从文件导入
- 从文本导入
📝 快速导入框
- 直接粘贴规则文本
- 一键导入
📝 规则语法
基础格式
域名##CSS选择器
域名模式
- 精确匹配:
www.baidu.com##.ad - 通配符匹配:
· 匹配所有 baidu.com 的子域名*.baidu.com##.advertisement - 全部匹配:
· 匹配所有网站(慎用)*##.popup
CSS选择器示例
/* 按类名 */
.class-name
/* 按ID */
#element-id
/* 按属性 */
div[class*='ad']
a[href*='ads']
/* 复杂选择器 */
div:has(.ad)
div.ad-container > .inner-ad
🔄 导入/导出功能
导出选项
- 复制到剪贴板
· 将规则以文本格式复制
· 方便分享或备份 - 下载为文件
· 生成 .txt 文件
· 文件名包含日期:custom-rules-2024-01-01.txt
导入选项
- 从文件导入
· 选择本地 .txt 文件
· 自动解析规则 - 从文本导入
· 直接粘贴规则文本
· 支持批量导入 - 导入模式:
· 合并导入:保留现有规则,只添加新规则
· 替换导入:清空现有规则,导入新规则
⚙️ 配置选项
排序设置
· 当前域名规则置顶:启用后,当前访问域名的规则会显示在最前面
自动应用
· 规则添加后立即生效
· 页面变化时自动重新应用规则
· 支持单页应用(SPA)
🎨 界面特点
视觉设计
· 现代化UI,采用渐变色设计
· 响应式布局,适应不同屏幕
· 流畅的动画效果
· 清晰的视觉反馈
交互体验
· 直观的分组管理
· 一键操作(删除、导入、导出)
· 状态实时更新
· 错误提示和成功反馈
🔧 技术特性
存储机制
· 使用Tampermonkey的 GM_getValue/GM_setValue
· 数据持久化存储
· 版本化管理(STORAGE_KEY包含版本号)
性能优化
· 规则按需应用(只应用当前域名相关规则)
· 防抖处理,避免频繁更新
· 内存管理优化
兼容性
· 支持所有现代浏览器
· 支持单页应用(通过MutationObserver监听)
· 跨域支持
🆘 常见问题
Q1: 规则不生效怎么办?
- 检查域名格式是否正确
- 确认CSS选择器是否正确
- 检查是否启用了脚本
- 尝试刷新页面
Q2: 如何批量删除规则?
· 在管理界面点击域名右侧的"删除全部"按钮
· 可删除整个域名的所有规则
Q3: 规则会影响到其他网站吗?
· 不会,规则是基于域名的
· 每个规则只对指定的域名生效
· 使用通配符 *.domain.com 会影响该域名的所有子域名
Q4: 如何备份规则?
- 进入"工具"标签页
- 点击"导出规则"
- 选择"下载为文件"或"复制到剪贴板"
Q5: 导入失败怎么办?
- 检查规则格式是否正确
- 确认每行规则都包含 ##
- 尝试重新导入
- 检查文件编码(建议使用UTF-8)
📋 使用建议
最佳实践
- 先测试后添加:
1. 在浏览器开发者工具中测试选择器 2. 确认能正确选择目标元素 3. 再添加到规则管理器 - 分类管理:
· 按功能分类(广告、弹窗、侧边栏等)
· 按域名分类
· 定期清理无效规则 - 备份策略:
· 定期导出规则备份
· 导出时选择包含日期的文件名
性能建议
- 避免过多通配符规则:
不建议:*##.ad 建议:specific-site.com##.ad - 使用精确选择器:
不建议:div 建议:div.ad-container - 定期清理:
· 删除不再访问网站的规则
· 合并重复规则
🔍 高级用法
复杂选择器示例
/* 隐藏包含特定文本的元素 */
div:contains("广告")
/* 隐藏特定位置的元素 */
body > div:nth-child(3)
/* 隐藏特定属性的元素 */
div[data-ad="true"]
多规则组合
# 隐藏多个广告位
site.com##.ad-top
site.com##.ad-sidebar
site.com##.ad-popup
# 使用通配符隐藏所有子域名的广告
*.site.com##.advertisement
📊 统计数据
脚本会显示:
· 总规则数量
· 域名数量
· 当前域名生效规则数
· 每个域名的规则数
🛡️ 安全与隐私
数据存储
· 所有规则存储在本地
· 不会上传到任何服务器
· 完全离线工作
权限说明
· GM_getValue/GM_setValue:存储规则数据
· GM_addStyle:向页面注入CSS样式
· GM_xmlhttpRequest:未来扩展功能使用
· unsafeWindow:提供全局API
🔄 更新维护
版本历史
· v4.5.0:初始版本,包含基本功能
· 后续更新将添加更多功能和优化
更新说明
- 规则格式向后兼容
- 数据会自动迁移
- UI会持续优化
🤝 参与贡献
反馈建议
· 通过脚本的"帮助"功能查看联系方式
· 报告问题或提出改进建议
开发贡献
· 脚本采用MIT许可证
· 欢迎提交改进和功能建议
📚 学习资源
CSS选择器学习
· MDN CSS选择器文档
· CSS选择器测试工具
用户脚本开发
· Tampermonkey文档
· 用户脚本编写指南
⚠️ 注意事项
使用限制
- 不能绕过付费墙:仅用于隐藏元素,不能破解付费内容
- 可能影响功能:错误的选择器可能导致网页功能异常
- 需要维护:网站更新后,规则可能需要调整
浏览器兼容性
· Chrome 80+ ✓
· Firefox 75+ ✓
· Edge 80+ ✓
· Safari 13+ ✓
性能影响
· 规则越多,初始加载越慢
· 建议保持规则总数在100条以内
· 复杂选择器比简单选择器消耗更多资源
通过这个详细的说明,您应该能够充分利用 Via风格自定义规则管理器 的所有功能。脚本设计为直观易用,即使是没有技术背景的用户也能快速上手。如果有任何问题,可以通过脚本的帮助功能获取更多信息。