I've been learning JavaScript lately, and I've seen many examples of using Math.rand() to append to links (Face book.com, readability bookmarks).
What problem does this solve? Example parameters in the Readability bookmarklet:
_readability_script.src='http://lab.arc90.com/....script.js?x='+(Math.random());
Are there conflicts or issues in JavaScript that need to be resolved?
P粉3782646332023-11-05 15:56:01
The key point is to prevent the browser from caching these resources.
P粉1447050652023-11-05 11:47:29
As Rubens said, this is often a trick used to prevent caching. Browsers tend to cache JavaScript and CSS very aggressively, which can save you bandwidth, but can also cause deployment issues when changing scripts.
The idea is that the browser will think that a resource located at http://www.example.com/something.js?foo
is different from http://www.example.com/something .js?bar
, so the local cache is not used to retrieve the resource.
Probably a more common pattern is to append an incrementing value that changes whenever the resource needs to change. This way you benefit from client-side caching to handle repeated requests, but when a new version is deployed you force the browser to fetch the new version.
Personally, I like to append the file's last modified time as a Unix timestamp so that I don't have to hunt around and modify the version number every time I change the file.