📐 实现原理
- 通过拦截网页中发起的网络请求(fetch和XHR),识别并阻止广告相关的请求,减少广告内容加载。
- 动态监听DOM变化,移除页面中的广告元素(如视频贴片广告容器、侧边栏广告框等)。
- 重点避免阻断正常的视频核心流请求,确保视频播放稳定。
- 结合请求阻断和DOM元素清理双重策略,提升浏览体验。
🚄 实现
- 为了方便多次使用和维护,脚本采用独立的油猴脚本形式。
- 主要逻辑封装在一个自执行匿名函数中,运行于网页加载之前(
document-start)阶段。 - 利用
MutationObserver监听页面动态变化,及时删除新增的广告节点。 - 对视频流请求做细粒度判断,只阻断含广告参数的请求,避免误杀正常播放。
✨脚本完整代码✨
✨参数说明✨
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| 无具体参数 | 该脚本为自动运行油猴脚本,重在请求拦截和DOM移除 | - | - |
🛠️ 使用步骤
- 安装油猴脚本管理器(如Tampermonkey或Violentmonkey)。
- 新建一个油猴脚本,将上述完整代码复制粘贴进去。
- 保存并确保脚本启用。
- 打开或刷新YouTube页面,即可体验减少广告、视频播放流畅的效果。
- 若遇到无法播放或错误,可尝试关闭其他拦截插件避免冲突。
💡 注意事项
- YouTube广告机制复杂且经常更新,脚本可能需要后续维护。
- 本脚本避免拦截核心视频流,保证视频正常播放,但无法保证百分百拦截所有广告。
- 推荐配合专业广告拦截扩展(如uBlock Origin)使用,达到更优体验。
- 若页面无法播放视频,请检查浏览器控制台日志,确认是否请求被误阻断。
🏆 总结
本脚本通过请求劫持与页面元素清理双管齐下,稳健过滤绝大多数YouTube广告,且保障视频正常播放。适合广大希望减少广告干扰的用户使用。祝您观影愉快!
如果你有更多需求或者想让功能更完善,欢迎留言交流!






