Heim > Fragen und Antworten > Hauptteil
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?
P粉1447050652023-11-05 11:47:29
正如鲁本斯所说,这通常是用来防止缓存的技巧。浏览器通常会非常积极地缓存 JavaScript 和 CSS,这可以节省您的带宽,但在更改脚本时也可能会导致部署问题。
这个想法是浏览器会认为位于 http://www.example.com/something.js?foo
的资源与 http://www.example.com 不同/something.js?bar
,因此不会使用本地缓存来检索资源。
可能更常见的模式是附加一个递增值,只要资源需要更改,该值就可以更改。通过这种方式,您可以通过客户端缓存处理重复请求而受益,但在部署新版本时,您可以强制浏览器获取新版本。
就我个人而言,我喜欢将文件的最后修改时间作为 Unix 时间戳附加,这样我就不必在每次更改文件时四处寻找和修改版本号。