TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 780 subscribers
Post #1724 14
Chrome MV3 扩展精准捕获 DOM 元素

在传统截图工具中,截图总是先抓取视口再裁剪,导致捕获的不是目标元素本身。Snaptura 通过四大技术解决这一痛点:

1. 按设备像素捕获
captureVisibleTab() 返回的位图已包含 devicePixelRatio,直接按 CSS 维度裁剪会产生模糊或尺寸错误。Snaptura 在裁剪前将矩形乘以 DPR,并记录 DPR,保证导出图像 1:1 清晰。

2. 智能悬停选择
通过向上遍历节点并按可见面积与语义权重评分,选择最符合用户意图的祖先元素(如卡片、按钮),并在页面层级绘制不影响原页面的高亮。

3. 全页捕获与粘性元素处理
在滚动拼接时先检测 position: sticky/fixed 元素,按滚动位置隐藏或固定正确版本,使用 scrollTo({top, behavior:'instant'}) 与 requestAnimationFrame 确保无缝拼接。

4. 像素前的 DOM 级隐私遮蔽
通过在 DOM 中插入占位元素并隐藏原节点,捕获前完成遮蔽,避免敏感文本被渲染到 PNG 或撤销栈中。

此外,Snaptura 采用 MV3 的 Service Worker 与 OffscreenDocument 组合,保持后台轻量,支持 GIF 与视频编码。免费版无水印,Pro 版提供高级功能。


GitHub: GitHub

#开发者 #工具 #ChromeExtension #MV3 #DOMCapture #隐私保护 #全页截图 #滚动拼接
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  2. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
  3. Sep 25, 2026Xcode 27.2 改用 JSON 项目格式 Xcode 27.2 用基于 JSON 的 project.xcproj 取代了沿用多年的 project.pbxproj。新建项目…
  4. Sep 25, 2026PostgreSQL 的 max_prepared_transactions 该不该开 prepared transaction 是脱离会话独立存在的两阶段提交事务。执行 PREP…
  5. Sep 24, 2026RPI 实战:用 Claude Code 子代理拆分研发流程 一个约十几个产品的小团队(helpdesk、MES、邮件托管、高校 AI 助手)在 monorepo 里日常使用 Cl…
  6. Sep 24, 2026云原生架构下的依赖模拟工具问题 当前主流依赖模拟工具并非针对云原生架构设计。这些工具诞生于服务有固定发布周期、上游依赖变更缓慢且明确、测试团队可清晰掌握依赖行为的时代,而云原生架构…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →