如何实现html页面不缓存js?方法教程

发布时间:2019-09-06编辑:脚本学堂
有关html页面禁止缓存js代码的实现方法,防止js文件缓存下来,以后更新时不再需要用户重新删除IE文件等操作,需要的朋友参考下。

如何让html页面不缓存js?根据HTML页面缓存js原理,可以实现不缓存js的方法,一起了解下。
 
让html页面不缓存js的实现方法。

如果页面加载了js,次打开时也会是调用这个js缓存文件,如此禁止缓存js文件呢?

不缓存js的方法其实挺简单,css在某种条件下也可以如此使用;

不缓存的原理:
当浏览不同Url时,浏览器会自动将当前访问的地址进行一次缓存;
而第二次访问时着调用缓存下来的页面,从而达到页面快速加载(页面加载优化)的目的;
因此,可以给页面后面设定个不同的值,让页面保持没错访问的不同即可达到不缓存的目的了!

例子,html页面不缓存js文件。
 

复制代码 代码示例:
<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()是重点,需要带参数的。

防止文件缓存的js代码

通过在固定地址后面,加上一个不同值的日期数值,以达到地址不重复的目的,让浏览器每次都实时加载,不从缓存中读取文件。

代码:
 

复制代码 代码示例:
<script language="javascript" type="text/javascript">
//防止js文件缓存下来,以后更新时不再需要用户重新删除IE文件等操作。
var now=new Date();
var number = now.getYear().toString()+now.getMonth().toString()+now.getDate().toString()+now.getHours().toString()+now.getMinutes().toString()+now.getSeconds().toString();
document.write('<scr'+'ipt language="javascript" type="text/javascript" src="jb51net.js?"+number+""></scr'+'ipt>');
</script>

原理分析:
通过在固定地址后面,加上一个不同值的日期数值,以达到地址不重复的目的,让浏览器每次都实时加载,不从缓存中读取文件。

以上方法多用于动态验证码等需要多次加载文件的情况。