如 http://html5boilerplate.com/ 中的代码所示(ctrl+f "?v=1") ?v=1 到底做什么?它附加到外部 css 和 js url。
最佳答案
只是一种缓存破坏的方法,例如:
myScript.js?v=1
我可以(通过缓存 header )告诉您永远缓存它,然后当我推送新版本时,它是:
myScript.js?v=2
并且您的浏览器将其视为一个需要多次获取的新文件,并且它也可以永久缓存,所以基本上您获得了最大的缓存优势,并且仍然强制客户端重新获取当有新版本时。如果可能,这个版本将是构建过程的结果,在文件更改时自动更新(或者至少是新构建的,推送的,无论什么情况)。
作为一个真实的工作示例,看看您现在正在查看的页面:
http://sstatic.net/js/master.js?v=66ffcb6dcc55
它是文件的散列...每当它更改时,URL 末尾的散列也会更改,您的浏览器将获取一个新副本。
关于javascript - 添加 ?v=1 到 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842933/