Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
从缓存预加载jQuery映像_Jquery_Image_Caching_Browser_Load - Fatal编程技术网

从缓存预加载jQuery映像

从缓存预加载jQuery映像,jquery,image,caching,browser,load,Jquery,Image,Caching,Browser,Load,堆栈溢出上有很多预加载脚本示例,但是有没有办法检查浏览器是否已经在缓存中预加载了图像,如果已经预加载了,就不要使用.load()函数启动/超过图像预加载,只让浏览器放入图像?我不这么认为,但更重要的是,如果你的浏览器已经有了图像,它不会试图重新加载它(它只会要求服务器提供标题,并看到图像没有改变) 如果您愿意,您可以在图像上放置“far futures expires”标题,这样浏览器甚至不会尝试检查服务器,而只是假设缓存中的任何图像都正常。这将有效地满足您的要求 我认为这比我能说的更好: 浏览

堆栈溢出上有很多预加载脚本示例,但是有没有办法检查浏览器是否已经在缓存中预加载了图像,如果已经预加载了,就不要使用.load()函数启动/超过图像预加载,只让浏览器放入图像?

我不这么认为,但更重要的是,如果你的浏览器已经有了图像,它不会试图重新加载它(它只会要求服务器提供标题,并看到图像没有改变)

如果您愿意,您可以在图像上放置“far futures expires”标题,这样浏览器甚至不会尝试检查服务器,而只是假设缓存中的任何图像都正常。这将有效地满足您的要求

我认为这比我能说的更好:

浏览器(和代理)使用缓存来减少 HTTP请求,使网页加载更快。web服务器使用 HTTP响应中的Expires标头,以告知客户端 组件可以被缓存。这是一个遥远的未来,告诉我们 浏览器提示,此响应在2010年4月15日之前不会过时。 到期时间:2010年4月15日星期四格林威治标准时间20:00:00

如果您的服务器是Apache,请使用ExpiresDefault指令设置 相对于当前日期的到期日期。这个例子 ExpiresDefault指令设置从到期日起10年后的到期日期 请求的时间。 ExpiresDefault“访问权限加10年”

请记住,如果您使用远未来过期标头,则必须 每当组件发生更改时,请更改组件的文件名。在 雅虎!我们通常将此步骤作为构建过程的一部分:版本 例如,数字嵌入在组件的文件名中, 雅虎2.0.6.js


所以基本上,你可以把标题
放在Expires:Thu,2030年12月31日0:00:00 GMT
上,浏览器在接下来的29年左右不会再去寻找图像:)。当然,这意味着如果更改图像,则必须重命名它们。

我理解您的意思,但是否可以使用javascript检查图像是否已被浏览器缓存,这样我就不需要触发.load()事件。加载后,我的所有图像都会淡入淡出,我试图实现的是:如果浏览器已经缓存了图像,以避免触发.load()事件,并让浏览器填充它们,以便javascript fadeIn不会采取行动。