New Userscript T1W9-2
一、媒体采集抓取功能(浅层 DOM 扫描,无网络拦截)
自动采集三类媒体
页面全部 图片资源(包含 data-src 延迟图片)
页面原生 标签视频(区分 MP4 普通视频 /m3u8 加密流媒体)
B 站、优酷官方播放 iframe,自动提取播放器地址识别为内嵌视频
双重捕获延迟加载资源
MutationObserver DOM 变动防抖监听(300ms 延迟刷新列表)
2 秒间隔循环轮询采集,捕获弹窗、滚动后异步渲染的媒体
资源缓存防重复
已抓取 src 存入 Set,不会重复创建缩略 DOM
视频缩略图缓存 Map,避免重复解码生成画面
m3u8 流媒体特殊处理
识别.m3u8/.m3u 分片链接,跳过 canvas 解码,加载统一影视 SVG 封面,不再空白兜底
二、媒体画廊筛选(顶部一体化头部 UI)
三段式 Tab 切换:全部 / 图片 / 视频(视频分类包含原生视频 + iframe 内嵌播放器)
头部同块集成两个控制按钮,视觉一体无割裂:
静音开关:全局视频预览静音 / 取消静音切换
自动播放开关:全屏打开视频时自动播放开关
iOS 原生磨砂一体化头部容器,Tab 与控制按钮共用同一毛玻璃背景
三、媒体缩略展示 & 三类视频标识区分
自适应网格缩略格子,固定格子高度 42px,双层overflow:hidden彻底解决视频标签溢出漂浮问题
三色独立角标区分视频类型,一目了然:
表格
类型 标签文字 底色 权限
原生 MP4 视频 可下载视频 蓝色 长按缩略可下载源文件
m3u8 加密 / 直播流 加密流媒体 灰色 仅预览,无法下载
B 站 / 优酷 iframe 播放器 内嵌预览 绿色 仅全屏 iframe 观看,无源文件下载
缩略 hover 轻微缩放动画,圆角柔和统一
短视频过滤(时长小于 10s 自动替换专属占位图)
四、全屏预览功能
点击缩略打开全屏预览层,点击画面空白处 / 底部 Home 圆形按钮关闭预览返回图库
分类型预览逻辑:
图片:自适应等比展示图片
原生视频:HTML5 播放器,带控制栏,遵循全局静音 / 自动播放设置
iframe 内嵌视频:直接加载 B 站 / 优酷播放器 iframe 完整观看
优化低灵敏度左右滑动切换(解决之前滑动过于敏感)
滑动阈值提升至 80px,短距离拖拽不会误切
区分横竖手势:垂直拖动画面超过 30px 则不触发切换
过滤瞬时轻点拖拽(触摸时长 < 100ms 忽略)
支持触屏滑动 + 鼠标拖拽切换前后媒体
键盘快捷键:左右方向键切换上一个 / 下一个媒体
预览切换节流防抖,250ms 冷却避免连续快速切换
五、配套交互功能
长按缩略图下载对应资源(仅原生图片、原生 MP4 支持,加密流 /iframe 无下载能力)
整机悬浮 iOS 手机样式卡片,固定在页面右上角,磨砂玻璃毛玻璃质感
移动端自适应缩小卡片尺寸、文字、缩略格子,适配手机浏览器
六、视觉 UI 优化(已解决历史问题)
顶部 Tab 和控制按钮整合在同一个磨砂容器,消除分层割裂、外观不协调问题
缩略格子固定高度 + 双层溢出截断,彻底修复视频标签飘到卡片底部的 bug
统一圆角、间距、透明度,复刻 iOS 原生小组件风格
极简细滚动条,不破坏界面干净度
刘海、Home 键弱化处理,不抢夺视觉重心
七、当前脚本核心局限性(对比猫抓扩展)
仅浅层 DOM 抓取:无法拦截页面网络请求,不能捕获 JS 动态生成、加密隐藏的视频地址
无流媒体解密能力:m3u8 加密分片只能展示占位图,无法解析、解密、下载分片
DRM 付费长视频 / 抖音快手短视频:完全无法识别,DOM 中无标准 video/iframe 标签
iframe 内嵌视频仅能预览,无法提取内部真实视频分片资源
没有网络嗅探,仅靠轮询 DOM 捕获延迟资源,仍有概率漏抓极端异步加载媒体