图片快速保存

创建于 16 小时前
更新于 13 小时前
按 Alt/Option 高亮可下载图片,左键点击快速保存,支持 img、blob、background-image
总安装量
34
今日新增
+1
用户评分
- / 5.0 (0)
当前版本
0.0.4
脚本详情
适用网站

Global Image Quick Saver PC 使用说明

1. 脚本简介

Global Image Quick Saver PC 是一个浏览器用户脚本,用于在任意网站中快速保存图片。

gitee 仓库地址:https://gitee.com/amzbasara/global-image-quick-saver-pc.git

本脚本由 ChatGPT 纯 AI 生成,人工提供思路;

安装后,在 PC 浏览器中可以通过:

  • Windows / Linux:Alt + 鼠标左键
  • macOS:Option + 鼠标左键

快速保存网页中的图片到本地。

脚本主要解决以下问题:

  1. 不需要右键菜单即可快速保存图片;
  2. 支持全站点使用;
  3. 支持部分 blob: 图片链接;
  4. 尽量拦截网站自身的图片点击跳转行为;
  5. 自动按照 域名-日期时间.后缀 的方式命名文件。

2. 适用环境

支持的脚本管理器

推荐使用以下任意一种浏览器用户脚本管理器:

  • ScriptCat
  • Tampermonkey
  • Violentmonkey

支持的浏览器

一般支持 Chromium 系浏览器,例如:

  • Chrome
  • Edge
  • Brave
  • Arc
  • 其他 Chromium 内核浏览器

Firefox 通常也可以使用,但部分下载行为可能会受到浏览器策略影响。


3. 安装方法

第一步:安装用户脚本管理器

如果你还没有安装用户脚本管理器,先安装以下任意一种:

  • ScriptCat
  • Tampermonkey
  • Violentmonkey

第二步:新建用户脚本

打开脚本管理器后台,选择:

新建脚本

或者:

Create a new script

第三步:粘贴脚本代码

Global Image Quick Saver PC 的完整脚本代码粘贴进去。

第四步:保存并启用脚本

保存后确认脚本处于启用状态。

脚本头部应包含类似配置:

// @match        *://*/*
// @grant        GM_download
// @noframes
// @run-at       document-start

其中:

  • @match *://*/* 表示所有 HTTP / HTTPS 网站生效;
  • @grant GM_download 用于增强跨域图片下载能力;
  • @noframes 表示不在 iframe 中重复运行;
  • @run-at document-start 表示尽早启动脚本,方便抢先拦截网站事件。

4. 使用方法

Windows / Linux

按住键盘上的:

Alt

然后用鼠标左键点击网页中的图片。

macOS

按住键盘上的:

Option

然后用鼠标左键点击网页中的图片。

脚本会尝试直接下载该图片,而不是打开图片页面。


5. 文件命名规则

脚本保存图片时,会自动使用以下格式命名:

域名-日期时间.后缀

例如:

ChatGPT-2026-04-29 11-35-37.png

或者:

Fuliba2024-2026-04-29 11-35-37.jpg

为什么时间使用 11-35-37,而不是 11:35:37

因为 Windows 文件名中不允许出现英文冒号 :

所以脚本默认使用跨平台安全格式:

YYYY-MM-DD HH-mm-ss

如果强行使用冒号格式,可能会导致 Windows 下载失败,或者浏览器自动修改文件名。


6. 支持的图片类型

脚本会尽量识别并下载以下类型图片:

jpg
jpeg
png
webp
gif
bmp
avif
svg

同时也会尝试处理:

blob:
data:image/

以及部分代理图片地址,例如:

https://img03.sogoucdn.com/.../?appid=122&url=https://example.com/image.jpg

7. 工作原理简述

脚本主要做了几件事:

  1. 在页面刚开始加载时运行;
  2. 监听 pointerdownmousedown 等早期鼠标事件;
  3. 判断用户是否按下了 Alt / Option 并点击了图片;
  4. 如果命中条件,则阻止网站原本的点击跳转;
  5. 获取图片真实地址;
  6. 使用 GM_downloadfetch + bloba[download] 尝试下载;
  7. 按照 域名-日期时间.后缀 自动命名。

8. 为什么有些网站会打开 blob: 页面?

有些网站不会直接让图片作为普通链接打开,而是通过 JavaScript 监听图片点击事件。

当你点击图片时,网站可能会:

  1. 读取图片资源;
  2. 动态生成一个 blob: 地址;
  3. 跳转到这个 blob: 地址;
  4. 在新页面中展示图片。

例如:

blob:https://example.com/932794da-5bd1-4598-b6fe-206814324119

脚本通过提前监听 pointerdownmousedown,尽量在网站自己的点击逻辑执行前拦截事件,从而避免跳转。


9. 常见问题

9.1 按 Alt / Option + 左键后没有下载

可能原因:

  1. 脚本没有启用;
  2. 当前网站被脚本管理器排除了;
  3. 浏览器拦截了自动下载;
  4. 图片不是真正的 <img> 元素,而是 CSS 背景图;
  5. 网站的事件监听比脚本更早或更强;
  6. 图片资源跨域限制较严格。

可以尝试:

  1. 确认脚本启用;
  2. 刷新页面;
  3. 查看浏览器是否弹出下载权限提示;
  4. 打开开发者工具控制台查看脚本日志;
  5. 确认脚本头部有 @grant GM_download

9.2 为什么下载的是 .jpg,不是原来的后缀?

如果图片地址中无法可靠判断后缀,脚本会尝试根据响应的 mimeType 判断。

如果仍然无法判断,则默认使用:

jpg

这是为了保证文件至少能被大多数图片查看器识别。


9.3 为什么某些图片保存下来打不开?

可能原因:

  1. 下载到的是网站返回的错误页面;
  2. 图片需要登录态或特殊请求头;
  3. 图片地址是临时地址,点击时已经失效;
  4. 网站使用了防盗链;
  5. 跨域下载失败后进入了兜底逻辑。

这种情况通常不是脚本语法问题,而是网站资源访问策略导致的。


9.4 为什么脚本要用 GM_download

普通网页脚本使用 <a download> 下载跨域图片时,可能会被浏览器当成普通跳转处理。

GM_download 是用户脚本管理器提供的下载能力,对跨域图片更稳定。

因此脚本优先使用:

GM_download

如果失败,再尝试:

fetch + blob

最后兜底使用:

a[download]

9.5 能不能支持手机端?

可以。

但当前版本主要针对 PC 端。

手机端通常可以设计为:

长按图片保存

不过长按图片可能会和浏览器原生菜单、网站菜单、复制图片、识图功能冲突,所以建议单独做成可开关版本。


10. 当前版本限制

当前脚本仍有一些限制:

  1. 不一定能保存 CSS background-image
  2. 不一定能保存 canvas 绘制出来的图片;
  3. 不一定能绕过所有网站的防盗链策略;
  4. 不一定能处理所有 iframe 内图片;
  5. 某些浏览器可能会要求用户确认下载权限;
  6. 部分网站可能使用非常规事件逻辑,仍可能触发跳转。

11. 建议后续增强方向

可以继续扩展以下功能:

  1. 支持保存 CSS 背景图;
  2. 支持保存 canvas 图片;
  3. 下载成功后右下角弹出提示;
  4. 支持自定义文件名前缀;
  5. 支持自定义快捷键;
  6. 支持手机端长按保存;
  7. 支持失败时复制图片地址;
  8. 支持批量保存页面所有图片。

12. 推荐使用习惯

建议使用方式:

  1. 先刷新目标网页;
  2. 鼠标移动到目标图片上;
  3. 按住 Alt / Option
  4. 左键点击图片;
  5. 松开按键;
  6. 查看浏览器下载栏。

如果图片被网站劫持打开新页面,可以再次确认脚本是否是最新版,并检查脚本是否在当前网站启用。


13. 示例

示例 1:ChatGPT 页面

保存文件名可能是:

ChatGPT-2026-04-29 11-35-37.png

示例 2:fuliba2024.net 页面

保存文件名可能是:

Fuliba2024-2026-04-29 11-35-37.jpg

14. 简短总结

这个脚本的核心用途是:

按住 Alt / Option,左键点击图片,快速保存到本地。

文件名格式为:

域名-日期时间.后缀

适合在经常浏览图片、需要快速保存素材或网页图片时使用。