Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript image.complete始终返回true_Javascript_Jquery - Fatal编程技术网

Javascript image.complete始终返回true

Javascript image.complete始终返回true,javascript,jquery,Javascript,Jquery,我希望在加载图像而图像不在浏览器缓存中时执行一些逻辑。问题是,使用jQuery中的complete布尔值总是返回true——即使图像不在浏览器缓存中。代码段: var elem = $('.my-img'); console.log(elem.prop('complete')); 无论是在Chrome还是Firefox上,控制台中都会记录到这一点。是否有任何解决方法,或者我是否错误地使用了该值 …加载图像时,图像不在浏览器缓存中 据我所知,没有办法检查图像是否在缓存中完成不会告诉你这一点;它告

我希望在加载图像而图像不在浏览器缓存中时执行一些逻辑。问题是,使用jQuery中的
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
了。。。谢谢你的快速回答--我会继续破解以找到解决方法。