使用 jQuery 查找链接的样式表,并在末尾添加一个随机数



我试图让所有样式表看起来像:

<link href="style.css?v=1234" rel="stylesheet" type="text/css" />

我遇到的唯一问题是获取当前链接标签,然后将新的随机数应用于当前路径。 我认为我应用查找链接的方法还可以,但是获取当前 attr 然后应用新 attr 是我出错的地方。

$(document).ready(function() {
var randomNum = Math.ceil(Math.random()*2);
// is this the best way?
$("head").find("link").attr("href")+"?v="+randomNum;
// I don't think this works
$('link[rel="stylesheet"]').end()+"?v="+randomNum;
});

我有一群遇到缓存问题的人,他们指出这将是一个可能的解决方案。

您没有将值设置回链接。您可以使用函数来设置链接值,如下所示。

$("head").find("link").attr("href", function (i, value) {
   return value +"?v="+randomNum;
});

如果您有人在使用新文件时遇到缓存问题,请尝试以下方法:

  • 向 CSS 文件添加版本号
  • 每次部署新的CSS文件时,都要更新版本号(不要忘记更新对它的引用)

这样,人们将始终看到他们加载的页面的相应css,并且您仍然可以从浏览器缓存中受益。

例如样式-1.0.css

最新更新