2012-10-30 199 views
2
引起的图像重装

我用这段JavaScript代码来设置图像的src到现有图像的图像源:的jQuery - 设置IMG SRC已经通过浏览器加载图像 - 在Safari

var src = $('#thumbnailImg' + pageNum).attr('src'); 
$('#mainAppImageImg').attr('src', src); 

在Firefox和IE可以按照预期工作 - 图像使用现有图像,不会再从服务器请求图像。

在Safari中,它导致图像从服务器重新加载。我认为这是因为我在服务器返回的图像头部中做了错误的事情,但这不是我知道的很多主题。

您可以在此处看到此操作:http://www.las.si/tryitout.php

+0

默认情况下,图像将被重新加载,您可以使用精灵来防止重新加载图像。 – Dev

+0

您无法使用精灵设置图像宽度和高度 –

+0

感谢您的快速响应。 @Dev几个后续:#1我认为默认情况下,浏览器会尝试缓存的图像。 #2你使用sprite是什么意思? – CharlesA

回答

2

正如开发说:

默认情况下,图像将被重新加载

你应该使用你的图片文件夹中的.htaccess文件强制服务器高速缓存图像:

Header unset Pragma 
Header set Cache-Control "public, max-age=10000, must-revalidate" 

这样,safari和chrome将重用您的浏览器缓存。

您也可以使用canvas元素搜索在base64,服务器端或客户端编码图像。

+0

真棒 - 这是破解它 - 谢谢! – CharlesA

相关问题