我正在使用会话来跟踪用户数据。我有许多页面可以访问同一组图像。有没有办法将图像预加载到会话中,以便在会话的其余部分加载它们?
-麦克风
浏览器在第一次加载图像后会自动保留图像副本,因此不必再次下载。
当您的脚本启动时,您可以运行以下命令:
if (!isset($_SESSION['images']))
{
$_SESSION['images'] = get_my_images();
}
然后,$_SESSION['images']
在您需要访问图像集时使用。
为什么要在会话中保留图像?
您可以使用 lighttpd 或通过 CDN 提供图像等资源。
如果您正在谈论返回图像链接,则可以使用 memcached 等缓存链接。
在登录/会话建立后的第一页,只需将所有图像加载到隐藏的 div 中,此时浏览器会为您缓存它们:
<div style="display: none">
<img src="img1.jpg" />
<img src="img2.jpg" />
...
</div>
第一个页面加载会在服务器上受到打击,但是在浏览器缓存期间什么都没有,或者最多是“304”检查是否更新类型的请求。