让html页面不缓存js的实现方法

很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不方便了,本文就来谈论如何解决这一问题,下面一起来看看。

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

先让大家了解下不缓存的一个简单的原理:

当浏览不同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()是重点,需要带参数的。

 

可以考虑引入js部分给js文件加入一个随机数作为参数.
比如:

 
1
2
3
4
<script type="text/javascript" src="/js/myjs.js"></script>
// 修改为
<script type="text/javascript" src="/js/myjs.js?randomId=<%=Math.random()%>"></script>


注: 只是给个思路. 后面那个randomId=<%=Math.random()%>需要你自己考虑下.
可以是当前时间戳+一个随机数字之类的.

posted @ 2017-03-31 10:28  有梦就能实现  阅读(13880)  评论(0编辑  收藏  举报