[removed] url containing random number

前端 未结 4 1474
自闭症患者
自闭症患者 2020-12-19 05:02

A friend is linking my page from his site. As I need users to avoid caching when visiting my page, I want the url to have this form:

http://www.mypage.com/index.php?

相关标签:
4条回答
  • 2020-12-19 05:35

    I would add a parameter but you can leave it out if needed:

    var url = "http://www.mypage.com/index.php?rnd="+Math.random()

    or

    var url = "http://www.mypage.com/index.php?rnd="+new Date().getTime()

    Link:

    <a href="http://www.mypage.com/index.php?rnd=1" onClick="this.href=this.href.split('?')[0]+'?rnd='+new Date().getTime()">Mostly random</a>
    

    Note that if you have more than one assignment - for example in a loop, you need to add to the getTime since an iteration of the loop is faster than a millisecond:

    var rnd = new Date().getTime();
    for (var i=0;i<links.length;i++) {
       links[i].href = "http://www.mypage.com/index.php?rnd="+(rnd+i);
    }
    

    UPDATE to use the URL constructor with searchParams

    const addRnd = urls => {
      let rnd = new Date().getTime();
      return urls.map((urlStr,i) => {
        let url = new URL(urlStr);
        url.searchParams.set("rnd",rnd+i);  // in case called multiple times
        return url;
      });
    };
    const urls = addRnd( ["http://www.mypage.com/index1.php","http://www.mypage.com/index2.php","http://www.mypage.com/index3.php"])
    console.log(urls)

    0 讨论(0)
  • Use Math.random():

     // navigate to the new page and append a random number at the end of the url
     window.location.href = newUrl + '?' Math.random();
    

    Beware you might get the same output twice from Math.random, after all it's random.

    0 讨论(0)
  • 2020-12-19 05:42
    var lower = 0;
    var upper = 100000000;
    var url = "http://www.mypage.com/index.php?"+(Math.floor(Math.random()*(upper-lower))+lower)
    

    it generates a random X from 0(lower) to 100000000 (upper), you can obv set the bounds you want ;)

    0 讨论(0)
  • 2020-12-19 05:43
    <a href="http://www.mypage.com/index.php?" onclick="this.href+=new Date().getTime();return true;">link</a>
    
    0 讨论(0)
提交回复
热议问题