一个完全运行在浏览器本地的循环比较工具。用户可以自定义选项名称与图片,让每两个不同选项只比较一次,最后按胜场数生成排名。
- 自定义排名标题、选项名称和图片
- 批量导入图片,自动以文件名作为选项名
- 批量粘贴名称
- 完整无重复两两比较,共
n × (n - 1) / 2场 - 随机赛程与随机左右位置
- 键盘方向键选择、退格键撤销
- 暂停、刷新后继续、本机自动保存
- 按胜场排名,相同胜场显示并列
- 导出 PNG 结果图片与 CSV 表格
- 将题目和图片导出为
.chooseone问卷文件,发送给朋友 - 导入朋友发来的
.chooseone文件,预览后再确认替换当前选项 - 图片在浏览器内缩放、重新编码,不上传服务器
- 桌面端和手机端响应式布局
项目已经包含构建好的 docs 目录。无需购买域名或服务器,也无需在本地运行构建命令。
- 在 GitHub 创建一个公开仓库。
- 将本项目的全部文件上传到仓库的
main分支。 - 打开仓库的
Settings → Pages。 - 在
Build and deployment中选择Deploy from a branch。 - 分支选择
main,目录选择/docs,点击保存。 - 等待 GitHub 完成发布,页面会显示访问地址。
如果仓库名为 你的用户名.github.io,地址通常是 https://你的用户名.github.io/;普通仓库则通常是 https://你的用户名.github.io/仓库名/。
需要 Node.js 20 或更新版本:
npm install
npm run dev完成修改后运行:
npm run build新的可发布文件会写入 docs 目录。
- 选项、图片和比较进度保存在当前浏览器的 IndexedDB 中。
- 网站不包含账号、统计脚本或服务器上传功能。
- 清除浏览器网站数据会一并删除保存的进度。
- GitHub Pages 网站本身公开可访问,请勿把私人图片直接提交到 GitHub 仓库;应让使用者在网页中从自己的设备选择图片。
- 在编辑页填好标题、选项名称和图片。
- 点击“导出空白问卷”,浏览器会下载一个
.chooseone文件。 - 把该文件和网站地址一起发送给朋友。问卷文件不含任何比较结果、答题进度或身份信息。
- 对方打开网站,点击“导入朋友的问卷”,选择文件并检查预览,确认后即可开始比较。
.chooseone 是一个有版本号的 ZIP 容器,只允许包含 manifest.json 和经过处理的 WebP 图片。导入器会在解压前限制压缩包大小、条目数量、路径、压缩方式、解压体积与压缩比;随后校验所有字段和图片,并在浏览器里重新解码、缩放和编码图片。包内的文本不会作为 HTML 执行,来源网址也不会自动打开。
当前安全限制为:最多 64 个选项、单张图片最多 8 MB、压缩包最多 96 MB、总解压体积最多 128 MB。文件仍应视为普通附件,只从可信联系人处接收;如果预览内容不符合预期,请直接取消导入。