构造函数
Image()
-
Image()
构造函数创建并返回一个新的HTMLImageElement
对象,该对象表示一个未附加到任何 DOM 树的 HTML<img>
元素。它接受可选的 width 和 height 参数。当不带参数调用时,new Image()
相当于调用document.createElement('img')
。
实例属性
继承自其父级 HTMLElement
的属性。
HTMLImageElement.alt
-
一个字符串,反映
alt
HTML 属性,指示图像未加载时要显示的备用内容。 HTMLImageElement.attributionSrc
安全上下文 实验性-
以编程方式获取和设置
<img>
元素的attributionsrc
属性,反映该属性的值。attributionsrc
指定您希望浏览器在图像请求中发送Attribution-Reporting-Eligible
标头。在服务器端,这用于触发在响应中发送Attribution-Reporting-Register-Source
或Attribution-Reporting-Register-Trigger
标头,以分别注册基于图像的归因源或归因触发器。 HTMLImageElement.complete
只读-
返回一个布尔值,如果浏览器已完成获取图像(无论成功与否),则该值为
true
。这意味着如果图像没有指示要加载图像的src
值,则此值也为true
。 HTMLImageElement.crossOrigin
-
一个字符串,指定此图像元素的 CORS 设置。有关详细信息,请参阅 CORS 设置属性。如果未使用 CORS,则此值可能为
null
。 HTMLImageElement.currentSrc
只读-
返回一个字符串,表示当前显示的图像的加载 URL。根据任何现有的 媒体查询 的指示,当条件变化时,图像可能会随之调整,此值也可能发生变化。
HTMLImageElement.decoding
-
一个可选的字符串,表示浏览器应该如何解码图像的提示。如果提供了此值,则它必须是允许的可能值之一:
sync
同步解码图像,async
异步解码图像,或auto
表示没有偏好(这是默认值)。有关此属性值的含义的详细信息,请阅读decoding
页面。 HTMLImageElement.fetchPriority
-
一个可选的字符串,表示浏览器应该如何相对于其他图像优先获取图像的提示。如果提供了此值,则它必须是允许的可能值之一:
high
以高优先级获取,low
以低优先级获取,或auto
表示没有偏好(这是默认值)。 HTMLImageElement.height
-
一个整数值,反映
height
HTML 属性,指示图像在 CSS 像素中的渲染高度。 HTMLImageElement.isMap
-
一个布尔值,反映
ismap
HTML 属性,指示图像是服务器端图像映射的一部分。这与客户端图像映射不同,客户端图像映射使用<img>
元素和包含<area>
元素(指示图像中的可点击区域)的相应<map>
来指定。图像必须包含在<a>
元素中;有关详细信息,请参阅ismap
页面。 HTMLImageElement.loading
-
一个字符串,向浏览器提供提示,用于通过确定是立即加载图像(
eager
)还是按需加载(lazy
)来优化文档加载。 HTMLImageElement.naturalHeight
只读-
返回一个整数值,表示图像在 CSS 像素中的固有高度(如果可用);否则显示
0
。这是图像以其自然全尺寸渲染时的高度。 HTMLImageElement.naturalWidth
只读-
一个整数值,表示图像在 CSS 像素中的固有宽度(如果可用);否则将显示
0
。这是图像以其自然全尺寸渲染时的宽度。 HTMLImageElement.referrerPolicy
-
一个字符串,反映
referrerpolicy
HTML 属性,它告诉 用户代理 如何决定使用哪个引用者来获取图像。阅读本文以了解此字符串的可能值的详细信息。 HTMLImageElement.sizes
-
一个字符串,反映
sizes
HTML 属性。此字符串指定图像的逗号分隔的条件大小列表;也就是说,对于给定的视口大小,将使用特定的图像大小。有关此字符串格式的详细信息,请阅读sizes
页面上的文档。 HTMLImageElement.src
-
一个字符串,反映
src
HTML 属性,其中包含图像的完整 URL,包括基本 URI。您可以通过更改src
属性中的 URL 来将不同的图像加载到元素中。 HTMLImageElement.srcset
-
一个字符串,反映
srcset
HTML 属性。这指定了一个候选图像列表,由逗号 (',', U+002C COMMA
) 分隔。每个候选图像是一个 URL,后跟一个空格,再后跟一个特殊格式的字符串,指示图像的大小。大小可以指定为宽度或大小倍数。有关大小子字符串格式的详细信息,请阅读srcset
页面。 HTMLImageElement.useMap
-
一个字符串,反映
usemap
HTML 属性,其中包含描述要使用的图像映射的<map>
元素的页面局部 URL。页面局部 URL 是一个井号 (hash) 符号 (#
),后跟<map>
元素的 ID,例如#my-map-element
。<map>
反过来包含<area>
元素,指示图像中的可点击区域。 HTMLImageElement.width
-
一个整数值,反映
width
HTML 属性,指示图像在 CSS 像素中的渲染宽度。 HTMLImageElement.x
只读-
一个整数,指示图像 CSS 布局框的左边框边缘相对于
<html>
元素的包含块原点的水平偏移量。 HTMLImageElement.y
只读-
图像 CSS 布局框的顶部边框边缘相对于
<html>
元素的包含块原点的整数垂直偏移量。
已废弃的属性
HTMLImageElement.align
已弃用-
一个字符串,指示图像相对于周围上下文的对齐方式。可能的值是
"left"
、"right"
、"justify"
和"center"
。这已过时;您应该改用 CSS(例如text-align
,尽管其名称如此,但它适用于图像)来指定对齐方式。 HTMLImageElement.border
已弃用-
一个字符串,定义图像周围边框的宽度。这已弃用;请改用 CSS
border
属性。 HTMLImageElement.hspace
已弃用-
一个整数值,指定图像左右两侧要留空的量(以像素为单位)。
HTMLImageElement.longDesc
已弃用-
一个字符串,指定可以找到图像内容长描述的 URL。这用于自动将图像转换为超链接。现代 HTML 应该将
<img>
放在定义超链接的<a>
元素中。 HTMLImageElement.name
已弃用-
一个字符串,表示元素的名称。
HTMLImageElement.vspace
已弃用-
一个整数值,指定图像上方和下方要留空的像素量。
实例方法
继承自其父级 HTMLElement
的方法。
HTMLImageElement.decode()
-
返回一个
Promise
,当图像被解码并且可以安全地将图像附加到 DOM 时,该 Promise 将解析。这可以防止在将未解码的图像添加到 DOM 时,下一帧的渲染暂停以解码图像。
错误
如果尝试加载或渲染图像时发生错误,并且已配置 onerror
事件处理程序来处理 error
事件,则将调用该事件处理程序。这可能发生在多种情况下,包括:
示例
创建和插入图像元素
const img1 = new Image(); // Image constructor
img1.src = "image1.png";
img1.alt = "alt";
document.body.appendChild(img1);
const img2 = document.createElement("img"); // Use DOM HTMLImageElement
img2.src = "image2.jpg";
img2.alt = "alt text";
document.body.appendChild(img2);
// using first image in the document
alert(document.images[0].src);
获取宽度和高度
以下示例展示了 height
和 width
属性与不同尺寸图像的用法:
<p>
Image 1: no height, width, or style
<img id="image1" src="https://www.mozilla.org/images/mozilla-banner.gif" />
</p>
<p>
Image 2: height="50", width="500", but no style
<img
id="image2"
src="https://www.mozilla.org/images/mozilla-banner.gif"
height="50"
width="500" />
</p>
<p>
Image 3: no height, width, but style="height: 50px; width: 500px;"
<img
id="image3"
src="https://www.mozilla.org/images/mozilla-banner.gif"
style="height: 50px; width: 500px;" />
</p>
<div id="output"></div>
const arrImages = [
document.getElementById("image1"),
document.getElementById("image2"),
document.getElementById("image3"),
];
const objOutput = document.getElementById("output");
let strHtml = "<ul>";
for (let i = 0; i < arrImages.length; i++) {
const img = arrImages[i];
strHtml += `<li>image${i + 1}: height=${img.height}, width=${img.width}, style.height=${img.style.height}, style.width=${img.style.width}</li>`;
}
strHtml += "</ul>";
objOutput.innerHTML = strHtml;
规范
规范 |
---|
HTML # htmlimageelement |
浏览器兼容性
加载中…
另见
- 实现此接口的 HTML 元素:
<img>