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