Javascript image.complete始终返回true
我希望在加载图像而图像不在浏览器缓存中时执行一些逻辑。问题是,使用jQuery中的Javascript image.complete始终返回true,javascript,jquery,Javascript,Jquery,我希望在加载图像而图像不在浏览器缓存中时执行一些逻辑。问题是,使用jQuery中的complete布尔值总是返回true——即使图像不在浏览器缓存中。代码段: var elem = $('.my-img'); console.log(elem.prop('complete')); 无论是在Chrome还是Firefox上,控制台中都会记录到这一点。是否有任何解决方法,或者我是否错误地使用了该值 …加载图像时,图像不在浏览器缓存中 据我所知,没有办法检查图像是否在缓存中完成不会告诉你这一点;它告
complete
布尔值总是返回true——即使图像不在浏览器缓存中。代码段:
var elem = $('.my-img');
console.log(elem.prop('complete'));
无论是在Chrome还是Firefox上,控制台中都会记录到这一点。是否有任何解决方法,或者我是否错误地使用了该值
…加载图像时,图像不在浏览器缓存中
据我所知,没有办法检查图像是否在缓存中<代码>完成不会告诉你这一点;它告诉您第一部分(主要是)img
元素可用(例如,图像已加载,这意味着它可能在缓存中)或已损坏(或)
这可能是一条切线: 您的代码正在检查与
.my img
选择器匹配的complete
标志。显然,该图像已完成(损坏或加载)。如果要检查与该选择器匹配的所有图像,则需要某种循环,可能是map
:
var flags = $(".my-img").map(function() { return this.complete; }).get();
当然,该数组中的任何false
标志都可能在您得到它的那一刻就过时了,因为图像是用JavaScript代码带外加载的
…加载图像时,图像不在浏览器缓存中
据我所知,没有办法检查图像是否在缓存中<代码>完成不会告诉你这一点;它告诉您第一部分(主要是)img
元素可用(例如,图像已加载,这意味着它可能在缓存中)或已损坏(或)
这可能是一条切线: 您的代码正在检查与
.my img
选择器匹配的complete
标志。显然,该图像已完成(损坏或加载)。如果要检查与该选择器匹配的所有图像,则需要某种循环,可能是map
:
var flags = $(".my-img").map(function() { return this.complete; }).get();
当然,该数组中的任何
false
标志都可能在您得到它的那一刻就过时了,因为图像是用JavaScript代码带外加载的。如果加载了图像,为什么它不会在缓存中?@Sébastien:Incognito/private browsing,被其他东西推出。。。记住,计算机科学中有四个难题:缓存失效、命名和逐个错误。当然。。。不管怎样,我不知道我们怎么检查。如果一个图像被加载了,为什么它不在缓存中?@Sébastien:隐姓埋名/私人浏览,被其他东西推出。。。记住,计算机科学中有四个难题:缓存失效、命名和逐个错误。当然。。。不管怎样,我不知道我们怎么检查。啊,然后我完全误解了complete
。。。谢谢你的快速回答--我将继续黑客攻击以找到解决方法。啊,那么我完全误解了complete
了。。。谢谢你的快速回答--我会继续破解以找到解决方法。