阻止JavaScript文件的缓存 [英] Preventing Cache on JavaScript files

查看:123
本文介绍了阻止JavaScript文件的缓存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图阻止浏览器缓存2个JavaScript文件。



我试过使用< META HTTP-EQUIV =CACHE-CONTROLCONTENT =NO-CACHE> code>没有成功。这是我的< head> 元素代码:

 < head> 

< meta charset =UTF-8>
< meta http-equiv =Cache-controlcontent =NO-CACHE>

< link type ='text / css'href ='/ files / theme / popup_basic.css'rel ='stylesheet'media ='screen'/>

<! - JavaScript开始 - >
< script type =text / javascriptsrc =/ files / theme / gohome.js>< / script>
< script type =text / javascriptsrc =http://192.168.0.149/redirect.js>< / script>
<! - JavaScript结束 - >

< / head>

从我的支持中,这应该起作用。但是 redirect.js 文件不断被缓存!



任何人都知道我做错了什么?

解决方案

< meta http-equiv =Cache-controlcontent =NO-CACHE> ,指令CACHE-CONTROL:NO-CACHE指示不应该使用缓存的信息,而应该将请求转发到原始服务器。



为了防止每个请求缓存,您可能需要在url中添加一些随机字符串。
下面的例子是使用JavaScript来动态创建一个脚本标签并在URL中添加随机数,然后追加它。

 < script language =JavaScript> 
var s = document.getElementsByTagName('script')[0];
var sc = document.createElement('script');
sc.type ='text / javascript';
sc.async = true;
sc.src ='http://192.168.0.149/redirect.js?v'+ Math.random();
s.parentNode.insertBefore(sc,s);
< / script>

如果只想阻止1次,只需在src中添加一些字符串。

 < script src =http://192.168.0.149/redirect.js?12345678>< / script> 


I'm trying to prevent 2 JavaScript files from being cached by the browser.

I've tryed to use <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> without success. Here's my <head> element code:

    <head>

<meta charset="UTF-8">
<meta http-equiv="Cache-control" content="NO-CACHE">

<link type='text/css' href='/files/theme/popup_basic.css' rel='stylesheet' media='screen' />

<!-- JavaScript Start -->
<script type="text/javascript" src="/files/theme/gohome.js"></script>
<script type="text/javascript" src="http://192.168.0.149/redirect.js"></script>
<!-- JavaScript End -->

</head>

From my understating, this should work. But the redirect.js file keeps being cached!

Anyone know what I'm doing wrong?

解决方案

The <meta http-equiv="Cache-control" content="NO-CACHE">, the directive CACHE-CONTROL:NO-CACHE indicates cached information should not be used and instead requests should be forwarded to the origin server.

In order to prevent cache on every request, you may need to add some random string in url. The example below is use javascript to dynamic create a script tag and adding random number in the url, then append it.

<script language="JavaScript">
 var s=document.getElementsByTagName('script')[0];
 var sc=document.createElement('script');
 sc.type='text/javascript';
 sc.async=true;
 sc.src='http://192.168.0.149/redirect.js?v' + Math.random(); 
 s.parentNode.insertBefore(sc,s);
</script>

If just want to prevent 1 time only, just append some string to the src.

<script src="http://192.168.0.149/redirect.js?12345678"></script>

这篇关于阻止JavaScript文件的缓存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆