Skip to content

v0.24.2 — 修复:取不到的图片现在会说明并可换成本地图片

Choose a tag to compare

@He2way He2way released this 18 Sep 10:15
· 4 commits to main since this release

v0.24.2 — 修复:取不到的图片什么都不显示 / An image that cannot load now says so

用户报告:画布里的图片显示失败。

根因:图片控件的 src 是由用户浏览器去取的,取不到时(网络到不了该站点、图床防盗链、链接失效,或那根本不是图片地址)原先只渲染一个裸 <img>,于是静默失败——看不见的破图标、没有说明、也没法在画布上修。这次报告里的地址是 upload.wikimedia.org,本机网络取不到。

修复

  • 图片控件现在有明确状态:加载中 / 成功 / 失败。失败时会指出取不到的主机名与地址原文,并说明可能原因。
  • 控件内直接给出出路:用本地图片替换… 打开文件选择器 → 读取 → 缩放成有界 JPEG data URL 写回该控件,图片完全不依赖网络即可显示;旁边还有 重试、在新标签打开、复制地址,以及"也可以把本地图片粘贴 / 拖到画布上"的提示。
  • 替换后真的重新加载:src 一变(替换 / ✎ 编辑 / 对话重构)状态复位为加载中,之前失败的地址会被重新尝试。
  • 提示词同步说明:只在确认真实可达时才写 https 图片地址;没有可靠图床时用自包含的 data:image/svg+xml;base64,… 画示意图;不要写搜索页或猜测的链接。

测试:smoke.mjs 覆盖两种图片来源、拒绝网页 / file: / javascript: 地址、替换坏图(单控件项与多块项);npm run verify:embed 提供真实 PNG 并在 Chromium 中断言可达图片真的渲染(naturalWidth > 0)、取不到的会点名主机并给出选择器、选中本地文件后变成 data URL 并渲染(IMAGELOCAL replaced=true loaded=2 failed=0)。

Install / 安装

dsh plugin --profile web add dsh-task-console           # npm(发布后)
dsh plugin --profile web add ./dsh-task-console.tgz     # 本 Release 的预构建 tarball

Full changelog / 完整变更记录: CHANGELOG.md