Ich habe in letzter Zeit JavaScript gelernt und viele Beispiele für die Verwendung von Math.rand() zum Anhängen an Links gesehen (Facebook.com, Lesbarkeitslesezeichen).
Welches Problem wird dadurch gelöst? Beispielparameter im Readability-Bookmarklet:
_readability_script.src='http://lab.arc90.com/....script.js?x='+(Math.random());
Gibt es Konflikte oder Probleme in JavaScript, die gelöst werden müssen?
要点是避免浏览器缓存这些资源。
正如鲁本斯所说,这通常是用来防止缓存的技巧。浏览器通常会非常积极地缓存 JavaScript 和 CSS,这可以节省您的带宽,但在更改脚本时也可能会导致部署问题。
这个想法是浏览器会认为位于
http://www.example.com/something.js?foo
的资源与http://www.example.com 不同/something.js?bar
,因此不会使用本地缓存来检索资源。可能更常见的模式是附加一个递增值,只要资源需要更改,该值就可以更改。通过这种方式,您可以通过客户端缓存处理重复请求而受益,但在部署新版本时,您可以强制浏览器获取新版本。
就我个人而言,我喜欢将文件的最后修改时间作为 Unix 时间戳附加,这样我就不必在每次更改文件时四处寻找和修改版本号。