问题描述
|
我正在JQuery中创建图像浏览器插件。本质上,我的页面上将有一个全尺寸的图像,下面是一个图像滚动器,其中包含一堆可用图像的缩略图。当用户单击缩略图时,它将向上移动到全尺寸框。
我打算通过HTML / CSS调整缩略图的大小,而不是存储单独的缩略图文件。我的问题是,如果浏览器将我的所有图像都加载到缩略图滚动器中,当将其推入全尺寸查看器时,是否必须重新加载每个图像?
我知道通常对此的答案是否定的-浏览器下载文件后,该文件就可用了。但是,我不仅在使用静态图像。图片上会进行一些预处理,因此我将通过PHP发送它们。
例如,我的一个缩略图的src可能是www.mydomain.com/prepImage.php?id=1
然后,PHP将进行一些处理并返回如下:
header(\"Content-Type: image/jpeg\");
echo $StringifiedJPEGFile;
像这样从PHP返回文件是否会在每次将图像源设置为该链接时迫使浏览器重新下载图像?
解决方法
像这样从PHP返回文件是否会在每次将图像源设置为该链接时迫使浏览器重新下载图像?
每页仅加载一次图像。甚至,这将取决于您发送的标头。
您可以调整最后修改的标头,expires标头,设置etag标头等,以便仅在需要时才重新加载。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
,是否可以缓存图像取决于浏览器设置和缓存控制标头。除此之外,无论从php或其他方式加载任何图像,都将得到相同的对待。可以根据HTTP缓存GET请求。
,您可以通过添加虚拟查询字符串来使其加载新图像,例如
<img src=\"my_image.php?a=432345\" id=\"my_image\" onclick=\"this.src=\'my_image.php?a=68945\' \" />
仅作为示例,为了每次都使它新颖,该数字应该唯一地更改。