我正在使用JavaScript与jQuery库来操作无序列表中包含的图像缩略图.当图像被加载时,它会做一件事,当发生错误时它会做其他事情.我正在使用jQuery load()和error()方法作为事件.在这些事件之后,我检查.complete的图像DOM元素,以确保在jQuery注册事件之前图像尚未加载.
它正常工作,除非在jQuery注册事件之前发生错误.我能想到的唯一解决方案是使用img onerror属性在全局某个地方(或在它自己的节点上)存储一个"标志",表示它失败,因此jQuery可以在检查.complete时检查"存储/节点".
谁有更好的解决方案?
编辑:粗体主要点并在下面添加额外的细节: 我正在检查图像是否完整(也称为加载)我在图像上添加加载和错误事件后.这样,如果在事件被注册之前加载了图像,我仍然会知道.如果在事件之后未加载图像,则事件将在事件发生时进行处理.这个问题是,我可以很容易地检查图像是否已经加载,但我无法判断是否发生了错误.
我需要验证图片网址以检查网址是否是这些扩展程序的图片: - jpeg,jpg,gif,png.示例: - 当我们验证此URL http://www.example.com/asdf.jpg时,它应该给我们真正的价值,并且像这样的url http://www.example.com/asdf.php应该返回false.我们如何在javascript中执行此操作,并且还要检查URL的内容类型.这样我们就可以说网址是否是图像.
它与Angular 2完全相同- 检查图像URL是有效还是坏了.
我怎样才能在vuejs中实现这个?
我有一个 asp.net 控件,它通过重复控件动态加载。如果未加载图像 src 或在图像元素上触发错误事件,我只想要一个替代图像,但它不起作用
<asp:Image ID ="test1" ImageUrl="test1.jpg" runat="server" CssClass="NotFoundMain" />
<asp:Image ID ="test2" ImageUrl="test14.jpg" runat="server" CssClass="NotFoundMain" />
$(document).ready(function () {
function callImageError(test) {
console.log(test)
alert()
test.setAttribute('src', './Image/WebSiteImage/ImageNotAvailable.jpg');
}
function gotImageElement(item) {
item.addEventListener('onerror', callImageError(item));
// item.onerror(callImageError(item))
}
var mImg = document.getElementsByClassName("NotFoundMain");
for (var i = 0; i < mImg.length; i++) {
gotImageElement(mImg[i])
}
//mImg.forEach(gotImageElement)
});
Run Code Online (Sandbox Code Playgroud)
但这不起作用,即使图像在那里,此事件被触发,并且我没有找到图像图像我做错了什么吗?请帮忙