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

时间:2012-12-06 15:51:11

标签: jquery

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

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

我遇到的唯一问题是获取当前链接标记,然后将新的随机数应用于当前路径。我认为我应用查找链接的方法是可以的,但获取当前的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;

});

我有很多人遇到缓存问题,他们注意到这可能是一种解决方案。

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

如果有人遇到新文件的缓存问题,请尝试以下方法:

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

这样人们总会看到他们加载的页面的相应css,你仍然可以从浏览器缓存中受益

e.g。样式1.0.css