搜索

首页  >  问答  >  正文

为什么这么多 JavaScript 脚本要向事物附加随机数?碰撞?

我最近一直在学习 JavaScript,并且看到了许多使用 Math.rand() 附加到链接的示例(Face book.com、可读性书签)。

这解决了什么问题? Readability 小书签中的示例参数:

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

JavaScript 中是否存在冲突或需要解决的问题?

P粉729518806P粉729518806387 天前873

全部回复(2)我来回复

  • P粉378264633

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

    要点是避免浏览器缓存这些资源。

    回复
    0
  • P粉144705065

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

    正如鲁本斯所说,这通常是用来防止缓存的技巧。浏览器通常会非常积极地缓存 JavaScript 和 CSS,这可以节省您的带宽,但在更改脚本时也可能会导致部署问题。

    这个想法是浏览器会认为位于 http://www.example.com/something.js?foo 的资源与 http://www.example.com 不同/something.js?bar,因此不会使用本地缓存来检索资源。

    可能更常见的模式是附加一个递增值,只要资源需要更改,该值就可以更改。通过这种方式,您可以通过客户端缓存处理重复请求而受益,但在部署新版本时,您可以强制浏览器获取新版本。

    就我个人而言,我喜欢将文件的最后修改时间作为 Unix 时间戳附加,这样我就不必在每次更改文件时四处寻找和修改版本号。

    回复
    0
  • 取消回复