yanchang
yanchang
发布于 2026-01-28 / 15 阅读
0
0

[技巧] PhotoPrism 缺失“全选”功能?一行代码实现批量审核/删除

碎碎念

之前自己在服务器上部署了 PhotoPrism 来管理大量的照片。体验总体不错,但在进行照片审核或整理归档时发现一个非常反人类的设计:目前的版本竟然没有“全选(Select All)”按钮!

当页面上有成百上千张照片需要批量通过审核或删除时,手动一个一个点击复选框简直是折磨。并且在处理的时候不可以使用 Shift 键进行连选

为了解决这个问题,我研究了一下页面结构,写了一行 JavaScript 代码来实现“一键全选”。

解决方案:一行 JS 代码

既然官方没做,我们就用浏览器的控制台自己动手。这段代码的逻辑是:找到页面上所有“未被选中”的复选框,并模拟点击它们。

JavaScript

// PhotoPrism 一键全选脚本
document.querySelectorAll('td.col-select:not(.is-selected) .input-select').forEach(btn => btn.click());

代码原理解析

  • td.col-select: 定位到包含复选框的单元格。

  • :not(.is-selected): 这是一个关键过滤器。它确保我们只获取当前没有被选中的图片。这样可以避免重复点击导致“反选”(即把已选的给取消了)。

  • .input-select: 找到单元格内的按钮元素。

  • .click(): 模拟鼠标点击。

使用方法

不需要安装任何插件,任何浏览器(Chrome, Edge, Firefox)都可以直接用:

  1. 打开 PhotoPrism 的照片列表页面(如“搜索”、“审核”或“归档”页面)。

  2. 关键步骤:如果照片很多,先向下滚动页面,让 PhotoPrism 加载出更多的照片(因为它是懒加载机制,只渲染屏幕内的图片)。

  3. 按键盘上的 F12 键(Mac 用户按 Cmd + Option + I)打开开发者工具。

  4. 切换到 “控制台 (Console)” 标签页。

  5. 在光标处粘贴上面的代码,按 Enter 回车运行。

  6. 执行后,你会发现页面上加载出来的图片瞬间全部变成了选中状态(紫色高亮),此时就可以进行批量操作了。

总结

这一行代码极大地提升了我在 PhotoPrism 中整理照片的效率。希望官方在未来的版本中能早日加上原生的“全选”按钮,在此之前,就先用这个方法过渡吧。


建议:你可以直接把这段代码保存到浏览器的“书签”里(Bookmarklet),把网址栏改成 javascript:document.querySelectorAll...,这样以后点击书签就能直接运行,不用每次都开控制台了。


评论