Copyright © 2021 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
本文档定义了“图片资源”概念及其对应的 WebIDL ImageResource 字典。Web API 可以在
HTMLImageElement 不适用或无法使用的情况下(例如在 Worker 中),使用
ImageResource 字典来表示图片资源。
本节描述了本文档发布时的状态。其他文档可能会取代本文件。当前 W3C 出版物列表及本技术报告的最新修订版可在 W3C 技术报告索引(https://www.w3.org/TR/)查阅。
本规范尚不稳定。 未参与讨论的实现者可能会发现规范发生不兼容的更改。
本文档由 Web Applications 工作组 以工作草案形式发布。 本文档拟成为 W3C 推荐标准。
建议针对本规范的讨论使用 GitHub Issues。
作为工作草案发布并不意味着获得 W3C 会员认可。
本文件为草案版本,可能随时被更新、替换或废止。引用本文档时应只作为进行中的工作。
本文档由遵循 W3C 专利政策 的团体制作。 W3C 维护一份 与团体成果相关的专利公开列表; 该页面也包括披露专利的相关说明。任何个人如果实际知晓某项专利包含 必要声明 信息,必须依据 《W3C 专利政策》第6节 进行披露。
本文件受 2020年9月15日 W3C 流程文档管辖。
Web 应用程序通常会接收开发者提供的图片资源,在 HTML 文档之外进行显示(例如,在操作系统、在浏览器 UI 中等)。本规范定义了一个 WebIDL 字典,用于描述图片以及获取该图片资源的位置。用户代理随后可以利用这些额外信息,选择最适合在终端用户设备显示、或最契合用户偏好或环境的图片。
获取图片资源可能会暴露用户的 IP 地址。建议用户代理在开发者提供 图片资源时及时获取所选图片,并在需要时进行存储复用。这有助于限制对用户位置的长期跟踪。
一个图片资源包括:
link
元素的
sizes
属性一致。
在 API 中,图片资源用 ImageResource 字典表示。
ImageResource 字典
WebIDLdictionary ImageResource {
required USVString src;
DOMString sizes;
DOMString type;
DOMString label;
};
src 成员
ImageResource 的 src 是用户代理用于 获取图片数据的 URL。
sizes 成员
sizes 成员等价于
link
元素的
sizes
属性,处理方式一致。
当有多个 ImageResource 字典可用时,用户代理可以使用 sizes
值来决定哪个图片最适合用于显示(并忽略不合适的)。
sizes 成员可以包含多个用空格分隔的尺寸值,用以适配具有多尺寸的图片格式(如 ICO
容器格式)。
const image = {
src: "path/to/image.ico",
sizes: "16x16 32x32 64x64",
type: "image/vnd.microsoft.icon",
};
some.api.doSomething(image);
type 成员
type 成员表示图片资源的 图片 MIME 类型。用户代理可以忽略其不支持的媒体类型。
ImageResource 没有默认的 MIME 类型。type 仅作提示。用户代理必须使用
图片内容嗅探规则 确定 图片资源的 MIME 类型。
label 成员
label 是 ImageResource 的 字符串,为图片提供 可访问名称。
实现者必须为其向用户暴露的每一个
ImageResource
推导可访问名称。
除非 ImageResource 的 可访问名称 能从其上下文中的 外部标签推断得到,强烈建议作者添加 label。例如在 manifest
场景中,name 或 short_name
就可为 icons 数组的所有成员提供外部标签(前提是没有定义 label)。
如果既没有显式的 label,也没有 外部标签,但 type 支持提供 嵌入式可访问名称,实现者可以选择延迟 label 分配,直到 src 被获取和处理。如果 src 提供了 嵌入式可访问名称,实现者必须将 label 设置为该名称值。
ImageResource
从 API
处理 ImageResource 的步骤如下。算法接收一个 ImageResource input,返回一个 图片资源。
获取图片资源的步骤如下。该算法接受一个图片资源 image,以及一个可选的 Request request,返回一个 Response。
undefined:
TypeError。
某些图形格式支持将嵌入式可访问名称作为图片内容的一部分嵌入。示例包括:
除明确标记为非规范性的章节外,本规范中的所有创作指南、图示、示例和说明都是非规范性的。规范其它内容均为规范性内容。
本文中的 MAY、MUST、RECOMMENDED 等关键字,均应按 BCP 14 [RFC2119] [RFC8174] 的规定解释,仅当其全部大写时才具有本意。
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: