如何让html页面不缓存,js永久缓存

html-css05

如何让html页面不缓存,js永久缓存,第1张

当浏览不同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 缓存机制,以便于您获取更多的相关知识。

给网址后面添加一个随机数(或者是任意的字符串)即可,比如原来的网址是这样的:

http....../.../1.htm

改为

http....../.../1.htm?1234

即可(注意问号不能省)。

浏览器是根据网址来缓存的,所以只要给网址接个尾巴,浏览器就会认为是新网址,就会从网上重新下载数据了。当然,如果下次再次改变了网页内容,这个尾巴就要再次修改。

给css和js添加所谓版本号其实也是同一个原理。这个版本号其实就是给css和js的网址接个尾巴而已。

这个也同样适用网页里面的图片、音乐等资源,事实上只要是http协议的元素都可以利用这个办法来避开缓存实时刷新。

直接写在同一页面和将js代码写在其他页面再引入到该也执行效果是一样的,同样的代码占用 的内存基本是相差无几,之所以写到另一页是为了方便开发和维护。下面我说一下个人对于js代码占用内存的一些看法:

1、JavaScript代码确实要比html和css代码消耗内存多,尤其是DOM操作。

作为一个前端开发人员可能都听到过这样的话:尽量减少DOM操作。但是为什么呢?原因很简单,过多的JavaScript代码和过多的dom操作会网页的加载速度慢,当然也会增加内存的开销。但是问题又来了为什么过多的dom操作会导致增加内存开销和导致浏览器变慢呢? 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint)。js的一些操作会打破常规,并触发浏览器执行layout:如通过js获取需要计算的DOM属性、添加或删除DOM元素、通过js修改DOM元素样式且该样式涉及到尺寸的改变等。所以频繁的DOM操作确实是可以增加内存开销影响web的性能。

2、哪些方法可以优化这个问题呢?

显然问题引入外接的JavaScript代码和这直接写入网页内的script标记间的JavaScript代码对于的执行效率是一样的。但是对弈页面中的一些不可避免的dom操作我们应该如何最大限度的优化这个问题呢?

a、良好的编程思想,减少代码冗余,尽量代码复用。

简单的说就是我们需要使用面向对象的编程思想尽量将我们常用的功能进行封装然后复用,这样可以在一定程度上减少一些不必要的DOM操作。

b、适当使用一些优化的方法和。

如原生的JavaScript中有一个有一个方法是文档碎片(DocumentFragment() ),使用该方法可以将多个类似的DOM操作挂在文档碎片中,最后执行相当于一次DOM操作的开销。

最后,作为一个前端开发人员对于web性能我们要关注尤其是JavaScript,这要求我们在开发过程中要有一个好的代码习惯。