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

html, javascript

Solution

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>

Problem

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

Original source