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

2020-03-27  本文已影响0人  houxin

很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但是如果某些文件是存在实时变化的量的时候,或者我们调试的时候,就很不方便。

不缓存JS的方法其实挺简单,下面给出代码。
原理就是可以给页面后面设定个不同的值,让页面保持没错访问的不同即可达到不缓存的目的了!

下面是个简单的示例:
代码如下:

<script>
    document.write("<script type='text/javascript' src='/storage/exam/js/js_url.js?ver="+Math.random()+"'><\/script>");
</script>

其他的类似,只需在地址后加上+Math.random()

注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以
另外的朋友会有如下的写法[这种方法不建议使用]

<script>
    let domain = 'http://exam.coco77com.cn';
    let head = document.getElementsByTagName('head')[0];
    let script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = domain + '/storage/exam/js/js_url.js?v=' + Math.random();
    head.appendChild(script);
</script>

这种方法就是创建一种script的节点,然后新增src属性,达到动态加载的目的。 确实能解决问题,但是场景很有限。

这里说下这种方法缺点,这种方式创建的script的加载是最后加载的,如果你的网页中首次加载的时候,有依赖这个js的变量的话,则会报错显示。

上一篇 下一篇

猜你喜欢

热点阅读