Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to append timestamp to the javascript file in <script> tag url to avoid caching

I want to append a random number or a timestamp at the end of the javascript file source path in so that every time the page reloads it should download a fresh copy.

it should be like

<script type="text/javascript" src="/js/1.js?v=1234455"/> 

How can i generate and append this number? This is a simple HTML page, so cant use any PHP or JSP related code

like image 574
Seeker Avatar asked Jul 13 '12 09:07

Seeker


People also ask

How to add timestamp in URL JavaScript?

Insert the script dynamically via document. createElement('script') , then when you set the URL, you can use new Date(). getTime() to append the extra parameter. Sorry, math random will add a point to the source, and unescaped this will lead to errors.

How to add timestamp in JS file?

If you instead want to get the current time stamp, you can create a new Date object and use the getTime() method. const currentDate = new Date(); const timestamp = currentDate. getTime(); In JavaScript, a time stamp is the number of milliseconds that have passed since January 1, 1970.

How do you add a timestamp in HTML?

Answer: Use the Date. now() Method You can simply use the JavaScript Date. now() method to generate the UTC timestamp in milliseconds (which is the number of milliseconds since midnight Jan 1, 1970).


1 Answers

Method 1

Lots of extensions can be added this way including Asynchronous inclusion and script deferring. Lots of ad networks and hi traffic sites use this approach.

<script type="text/javascript"> (function(){       var randomh=Math.random();      var e = document.getElementsByTagName("script")[0];      var d = document.createElement("script");      d.src = "//site.com/js.js?x="+randomh+"";      d.type = "text/javascript";       d.async = true;      d.defer = true;      e.parentNode.insertBefore(d,e);  })(); </script> 

Method 2 (AJZane's comment)

Small and robust inclusion. You can see exactly where JavaScript is fired and it is less customisable (to the point) than Method 1.

    <script>document.write("<script type='text/javascript' src='//site.com     /js.js?v=" + Date.now() + "'><\/script>");</script> 
like image 197
TheBlackBenzKid Avatar answered Sep 23 '22 07:09

TheBlackBenzKid