简体   繁体   中英

Preventing Cache on JavaScript files

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>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM