8
votes

JavaScript: URL contenant un nombre aléatoire

Un ami lie ma page à partir de son site. Comme j'ai besoin d'utilisateurs pour éviter la mise en cache lors de la visite de ma page, je souhaite que l'URL ait ce formulaire:

http://www.myyage.com/index.php?456646556 < / p>

où 456646556 est un nombre aléatoire.

Comme mon ami n'a pas installé PHP, comment puis-je construire le lien avec le numéro aléatoire à l'aide de JavaScript?

Aussi mon ami m'a demandé de lui donner juste l'URL, sans autre fonctions car sa page est déjà chargée avec eux. Peut-il être fait?

Merci beaucoup


0 commentaires

4 Réponses :


19
votes

J'ajouterais un paramètre mais vous pouvez le laisser si nécessaire:

var URL = "http://www.myyage.com/index.php?rnd=" + math.random () code> p>

ou p>

var URL = "http://www.myyage.com/index.php?rnd="+New Date (). Gettime () code> p>

lien: p> xxx pré>

note forte> que si vous avez plus d'une mission - par exemple dans Une boucle, vous devez ajouter à latime de récupération car une itération de la boucle est plus rapide qu'un milliseconde: p> xxx pré>

update strong> Pour utiliser le constructeur de l'URL Avec SearchParams p>

p>

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 commentaires

0
votes

Utilisez math.random () :

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


2 commentaires

document.Location est obsolète pour document.url, window.location est ce que vous voulez ici


@mplungjan vient de se réveiller, corrigé-le :)



2
votes
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 commentaires

3
votes
<a href="http://www.mypage.com/index.php?" onclick="this.href+=new Date().getTime();return true;">link</a>

2 commentaires

Il continuera à ajouter une nouvelle date chaque fois qu'il est cliqué. C'est pourquoi j'ai fait une scission dans ma suggestion


Je pensais que tout va bien pour la situation avec quelques clics seulement. Si vous attendez que quelqu'un frappe ce lien, vous devez utiliser Split.