我真的不明白Google Code如何处理文件版本控制。 我正在构建一个任何人都可以访问的jQuery插件。像这样:
<script type="text/javascript" src="http://jquery-old-browser-warning.googlecode.com/files/jquery.browser-warning.js"></script>
此脚本访问同一项目中的其他文件(通过ajax)。
问题是,当我上传新文件时,似乎没有任何改变。 Google建议新文件应具有新名称。 但是我必须更改脚本加载的文件名。 但是,我还必须更改脚本文件,这将破坏每个实现(使用上面的脚本标记)
有没有办法在使用相同的文件名上传时强制更改文件?
PS:如果我直接进入项目页面的文件列表。然后我确实获得了包含更新内容的文件。但正如我所说,不是通过ajax获得它。
答案 0 :(得分:3)
本书中防止缓存的最便宜技巧是在GET参数中添加一些随机内容:
www.example.com/resources/resource.js?random=1234567
例如,您可以使用当前时间戳。
然而,这会导致任何和每个访问重新获取内容,并使任何客户端缓存机制无效。我只会将此作为最后的手段。如果Google对缓存非常严格,我宁愿开发一个允许轻松重命名文件的工作流程。
我不知道您的工作流程,但也许您可以使用版本化目录? 像这样:
www.example.com/50/resources/resource.js
www.example.com/51/resources/resource.js
可以保留客户端使用的任何缓存,但无论何时发生更改,浏览器都会重新加载内容。
答案 1 :(得分:0)
我认为它只是浏览器上的缓存,因此当您从ajax请求文件时,只需添加随机参数或版本号。
例如,Stackoverflow将版本参数添加到静态内容,如
http://sstatic.net/so/all.css?v=6638
答案 2 :(得分:0)
您是在谈论将文件上传到“下载”区域吗?那些应该有不同的文件名,例如它们应该是版本的。如果您要上传脚本代码,那么应该由您正在使用的版本控制系统提交,并且应该在修订版中保留相同的名称。
修改:您的代码段未显示在我的网页上,误解了您正在尝试的内容。不要以为每次加载某个客户端页面时,Google都会对您引用SVN存储库感到满意:)