⑴ 如何给html网页设置缓存
在Apache环境下,可以通过在.htaccess文件中添加下面的代码,设置图片的HTTP缓存和有效期(需要开启apache的headers模块支持):
# Image and Flash content Caching for ONE Year blog.gimhoy.com<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=3156000"
其中max-age后面这个数字就是设置的缓存有效期(以秒为单位),比如上面的代码设置了网站的图片使用为期一年(3156000秒)的HTTP缓存。
在Nginx下,可以通过修改nginx.conf配置文件,来修改缓存设置:
location ~* \.(flv|gif|jpg|jpeg|png|ico|swf)$ { expires 1y; access_log off; break; }
同样的方法,你也可以给js和css文件设置缓存。
⑵ 如何让html页面不缓存,js永久缓存
当浏览不同Url时,浏览器会自动将当前访问的地址进行一次缓存;而第二次访问时着调用缓存下来的页面,从而达到页面快速加载(页面加载优化)的目的;
因此,我们可以给页面后面设定个不同的值,让页面保持没错访问的不同即可达到不缓存的目的了!
下面是个简单的示例:
复制代码 代码如下:
<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>
其他的类似,只需在地址后加上+Math.random()
注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以
最后加一个ajax也不让缓存的方法
复制代码 代码如下:
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);
记得后面的now=" + new Date().getTime()是重点,需要带参数的。
希望本文所述对大家的javascript程序设计有所帮助。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js , html , 页面 不缓存 javascript 缓存、javascript 清除缓存、javascript缓存数据、javascript 本地缓存、javascript 缓存机制,以便于您获取更多的相关知识。
⑶ html5缓存的问题,如何正确设置
html5缓存正确的设置办法:
1、启用缓存
设置方法:
<html manifest="example.appcache">
...
</html>
2、设定缓存访问的范围,配置到MANIFEST中:
CACHE MANIFEST
# v1 - 2011-08-13
# This is a comment.
http://www.example.com/index.html
http://www.example.com/header.png
http://www.example.com/blah/blah
⑷ 如何能html改图片时直接使用本地缓存,完全不走流量(html 或 javascript 解决方案,chrome浏览器)
首先…作为吊丝程序员(学生现役)…给几个吊丝的方法。
预加载隐藏
//在预加载的时候,直接读出隐藏的图片
$("#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状态是确保在图片被修改过以后,能够再返回一个不同的值……
所以……
流量还是不要省了……→_→
⑸ html5 离线缓存怎么实现的
HTML5离线存储和本地缓存
一.离线存储
有一个web应用有三个文件index.html,a.js,b.css,现在需要把js和css文件缓存起来
1.在index.html里加上<htmlmanifest="test.manifest">
2.manifest清单格式如下
CACHEMANIFEST
#上面一句必须
#v1.0.0
#需要缓存的文件
CACHE:
a.js
b.css
#不需要缓存的文件
NETWORK:
*
#无法访问页面
FALLBACK:
404.html
3.manifest文件的mime-type必须是text/cache-manifest类型
注意点:
1.对于每个index.html?id=1或index.html?id=2都会分别缓存index.html页面,可以通过chrome浏览器Resources/ApplicationCache观察
2.如果想更新缓存内容,只要修改下manifest文件即可,如改版本号v1.0.1
4.离线存储如果资源有更新,可以通过如下代码来监听,但第一次加载还会是原来的版本
window.applicationCache.addEventListener('updateready',function(e){
if(window.applicationCache.status==window.applicationCache.UPDATEREADY){
window.applicationCache.swapCache();
if(confirm("lodingnew?")){
window.location.reload()
}
}
},false)
二.本地缓存
localStorage.setItem("key","value")
localStorage.getItem("key","value")
localStorage.removeItem("key")
localStorage.clear()
1.本地存储永不过期,除非自己去清除
2.可以通过chrome浏览器Resources/LocalStorage来查看
3.不同域下就算key相同取不到的值也不同,如localhost和127.0.0.1
⑹ html5如何缓存整个网站
http://www.111cn.net/wy/html5/52979.htm
按上面连接去做。
⑺ 如何缓存html文档
专业浏览器自带功能。
⑻ 请教伪静态的html如何强制缓存
在后台添加信息时就自动创建了用于前台显示的html,每添加一条信息就自动生成一个html页面,使前台可以直接点击访问,后台生成页面时需要按照一定的规则,如html文件的命名是不重复的但又和数据相关联,一般名称中都会有一个添加数据是自动获取当前产生的id作为html文件名的一部分。
⑼ html5怎么缓存动态html页面
HTML页面本身可以是模板,获取后台数据后动态更新页面。这种情况下用HTML5的OfflineWeb功能可以缓存作为模板的HTML页面。或者向FT那样,干脆把页面压缩存放在localstorage里,当然有容量限制。
⑽ html页面会缓存吗
单纯的html页面不会缓存,htm是一种标记语言,用来描述和标记的,不能实现缓存。html里面的JavaScript代码是当这个html页面加载时浏览器解释执行,也不可以实现数据缓存。