Javascript 浏览器何时缓存下载的图像?

Javascript 浏览器何时缓存下载的图像?,javascript,caching,Javascript,Caching,此脚本是否会导致浏览器缓存图像 var img = new Image(); img.src = "http://www.nasa.gov/sites/default/themes/NASAPortal/images/nasa-logo.gif" 或者,只有在添加到DOM中时,才会真正下载/缓存它 我在Chrome调试器的任何地方都看不到它,但我可能遗漏了一些东西 谢谢假设没有http头指示浏览器避免缓存,那么图像一旦成功下载就会被缓存,不管它是在javascript对象中下载的,还是用JS

此脚本是否会导致浏览器缓存图像

var img = new Image();
img.src  = "http://www.nasa.gov/sites/default/themes/NASAPortal/images/nasa-logo.gif"
或者,只有在添加到DOM中时,才会真正下载/缓存它

我在Chrome调试器的任何地方都看不到它,但我可能遗漏了一些东西


谢谢

假设没有http头指示浏览器避免缓存,那么图像一旦成功下载就会被缓存,不管它是在javascript对象中下载的,还是用JS放入DOM中的,或者是页面HTML的一部分。那部分没有区别


事实上,您甚至可以使用纯javascript将图像预加载到缓存中,如下所示:。

尝试清除缓存。如果它已经被缓存,你的代码将不会重新下载它。事实上,我想避免缓存是有充分理由的。这是可以在上面的代码中完成的,还是在客户端的任何其他地方完成的?@chris-您可以随时通过在图像URL中添加类似于?rand=193471029374的内容来中断缓存,在该URL中,每次请求图像时都会随机生成数字。这使得URL每次都不同,因此即使以前的图像下载在缓存中,浏览器也会将其视为不同的URL,以便再次从服务器请求该URL。或者,您可以将服务器配置为告诉客户端不要使用适当的HTTP头缓存映像。您不能从javascript禁止缓存图像。我发布了一个新问题,对这个问题有了更好的解释: