问题
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?456646556
Where 456646556 is random number.
As my friend does not have installed php, how can I build the link with the random number using Javascript?
Also my friend asked me to give him just the url, with no further functions as his page is already loaded with them. Can it be done?
Thanks a lot
回答1:
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);
}
回答2:
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 ;)
回答3:
<a href="http://www.mypage.com/index.php?" onclick="this.href+=new Date().getTime();return true;">link</a>
回答4:
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.
来源:https://stackoverflow.com/questions/4667927/javascript-url-containing-random-number