Pourquoi tant de scripts JavaScript ajoutent-ils des nombres aléatoires aux éléments ? collision?
P粉729518806
P粉729518806 2023-11-04 20:00:04
0
2
892

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粉729518806
P粉729518806

répondre à tous(2)
P粉378264633

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

P粉144705065

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal