html图片缓存问题?

html-css024

html图片缓存问题?,第1张

方法1. 将图片下载到本地,缺点是保存时会弹出文件保存提示框,需要用户配合

方法2. 将图片存到localStorage,用户无感知,缺点是最多存5MB

不知道楼主什么场景浏览器无法自动缓存资源。手动缓存是个很不常规的手段

方法很简单,你把保留网页历史的时间改长而且加大缓存目录的体积就行了,方法就是看浏览器顶部,工具,internet选项,这个界面有历史长度,最多999天,看里面的“设置”,可以改保存网页的路径,以及体积大小。在历史时间内,比如30天,不需要再次缓存页面,但是有个问题,就是你如果在线听歌,看大图片,如果过多,会导致你的IE缓存很庞大,有可能超出你的IE默认的体积,所以你最好转移到非系统分区,而且设置体积很大,1G甚至更大,否则超出后默认删除早期的图片,歌曲,flash等文件。

首先…作为吊丝程序员(学生现役)…给几个吊丝的方法。

预加载隐藏

//在预加载的时候,直接读出隐藏的图片

$("#blablabla").append($.("#someImg").clone())

$("#blablabla").last().attr("sec",$.load("url~~~",function(){

    //做一下隐藏

}))

然后在 一直到某点--》之后…就把原来的图片替换掉。

style的样式…如果还不一样的话……就是自己代码的问题了……

用web Strorage

简单来说…把图片数据流化并且放入web strorage,然后在读取的时候生产图片,并且放入img容器。

304状态是必要的

服务器端和客户端使用Conditional Gets功能验证缓存数据

客户端将条目放在缓存里,在过期之后重新验证。服务器端必须实现Conditional GET功能(使用ETags或者last modified的header)。

JS代码:

    $.ajax({

    url: '/Home/ExpiresWithConditional',

    ifModified: true, // 这里是关键

    cache: true,

    success: function (data, status, xhr) {

    $('#content').html(data.count);

    }

    });

而让服务端响应304状态是确保在图片被修改过以后,能够再返回一个不同的值……

所以……

流量还是不要省了……→_→