使用 JavaScript 检查 img src 是否有效
要检查 img src 是否有效:
- 在 img 元素上添加错误事件侦听器。
- 如果 src 无效,请将其设置为备份图像。
- 或者,隐藏图片。
这是本文中示例的 HTML。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
</head>
<body>
<img id="img" src="https://zadmei.com/does-not-exist.jpg" alt="banner" />
<script src="index.js"></script>
</body>
</html>
这是相关的 JavaScript 代码。
const img = document.getElementById('img');
img.addEventListener('error', function handleError() {
console.log(img.src);
// ?️ 如果设置为 non-existent 的图像,则会导致无限循环
// img.src = 'backup.webp'; // ?️ 必须是有效图像
});
我们在图像元素上设置了一个错误事件监听器。
当图像的源无法加载时,会在启动加载的元素处触发错误事件。
当错误事件被触发时,andleError 函数被调用。
我们可以将图像的 src 属性设置为备份图像或隐藏图像。
请注意,如果将图片的 src 属性设置为无效图片,则会再次触发错误事件并导致无限循环。
另一种方法是在加载失败时隐藏图像。
img.addEventListener('error', function handleError() {
console.log(img.src);
img.style.display = 'none';
});
在本例中,我们将图像的 display 属性设置为 none,这将隐藏图像。
或者,我们可以将图像的可见性属性设置为隐藏,这将使图像不可见,但仍会占用页面空间。
const img = document.getElementById('img');
img.addEventListener('error', function handleError() {
console.log(img.src);
img.style.visibility = 'hidden';
});
当元素的可见性属性设置为 hidden 时,它仍会占用页面空间,但该元素是不可见的(未绘制)。 它仍然会像往常一样影响页面上的布局。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。