recherche

Maison  >  Questions et réponses  >  le corps du texte

Pourquoi tant de scripts JavaScript ajoutent-ils des nombres aléatoires aux éléments ? collision?

J'ai récemment appris JavaScript et j'ai vu de nombreux exemples d'utilisation de Math.rand() pour ajouter des liens (Face book.com, signets de lisibilité).

Quel problème cela résout-il ? Exemples de paramètres dans le bookmarklet Lisibilité :

_readability_script.src='http://lab.arc90.com/....script.js?x='+(Math.random());

Y a-t-il des conflits ou des problèmes dans JavaScript qui doivent être résolus ?

P粉729518806P粉729518806419 Il y a quelques jours894

répondre à tous(2)je répondrai

  • P粉378264633

    P粉3782646332023-11-05 15:56:01

    Le point clé est d’éviter la mise en cache de ces ressources par le navigateur.

    répondre
    0
  • P粉144705065

    P粉1447050652023-11-05 11:47:29

    Comme l'a dit Rubens, il s'agit souvent d'une astuce utilisée pour empêcher la mise en cache. Les navigateurs ont tendance à mettre en cache JavaScript et CSS de manière très agressive, ce qui peut vous faire économiser de la bande passante, mais peut également entraîner des problèmes de déploiement lors de la modification des scripts.

    L'idée est que le navigateur pensera qu'il se trouve à http://www.example.com/something.js?foo 的资源与 http://www.example.com 不同/something.js?bar et n'utilisera donc pas le cache local pour récupérer la ressource.

    Un modèle plus courant consiste probablement à ajouter une valeur incrémentielle qui change chaque fois que la ressource doit changer. De cette façon, vous bénéficiez de la gestion du cache côté client des requêtes répétées, mais lorsqu'une nouvelle version est déployée, vous forcez le navigateur à récupérer la nouvelle version.

    Personnellement, j'aime ajouter l'heure de dernière modification du fichier sous forme d'horodatage Unix afin de ne pas avoir à chercher et à modifier le numéro de version à chaque fois que je modifie le fichier.

    répondre
    0
  • Annulerrépondre