![html中js文件的版本号如何控制,第1张 html中js文件的版本号如何控制,第1张](/aiimages/html%E4%B8%ADjs%E6%96%87%E4%BB%B6%E7%9A%84%E7%89%88%E6%9C%AC%E5%8F%B7%E5%A6%82%E4%BD%95%E6%8E%A7%E5%88%B6.png)
处理办法:1.更改css文件名:其实解决这个问题很简单,缓存是通过文件名标记缓存的内容的。在你更新了网站的css文件内容后,在更换一下css的文件名就可以了。如原先html中的css调用语句如下:<link rel="stylesheet" href=“http://www.example.com/style.css” type="text/css" media="screen" />改一下css文件名就可以了:<link rel=“stylesheet” href="http://www.example.com/index.css" type="text/css" media="screen" />另外一种从更改css文件名的方法是将版本号写到文件名中,如:<link rel="stylesheet" href="http://www.example.com/index.v2011.css" type="text/css" media="screen"/>css文件更新后,改一下文件名中的版本号即可:<link rel="stylesheet" href="http://www.example.com/index.v2012.css" type="text/css" media="screen"/>2.给css文件加个版本号:其实每次修改css文件后还要修改css的文件名有点麻烦,那么我们可以在加载css语句中加入个版本号(即css链接中?后面的内容)就可以了。如原先html中的css调用语句如下:<link rel="stylesheet" href=“http://www.example.com/style.css?v=2011”type="text/css" media="screen"/>改一下css文件的版本号改成2012就可以了:<link rel="stylesheet" href=“http://www.example.com/style.css?v=2012”type="text/css" media="screen"/>总结:其实css文件后面的问号起不到实际作用,仅能当作后缀,如果用问号加参数的方法,可以添加版本号等信息,同时可以刷新一下浏览器端的缓存。一个小小的细节,带来很大的方便。/*** 比较版本号的大小,如果curV 大于 reqV,则返回true,否则返回false* @param {String} curV* @param {String} reqV*/ function Version(curV, reqV) { var arr1 = curV.toString().split('.') var arr2 = reqV.toString().split('.') //将两个版本号拆成数字 var minL = Math.min(arr1.length, arr2.length) var pos = 0//当前比较位 var diff = 0//当前为位比较是否相等 var flag = false //逐个比较如果当前位相等则继续比较下一位 while(pos <minL) { diff = parseInt(arr1[pos]) - parseInt(arr2[pos]) if(diff == 0) { pos++ continue } else if(diff >0) { flag = true break } else { flag = false break } } return flag }例如:let test_v = Version(‘5.1.3’,‘5.0.1’); console.log(test_v ) //true