前言


在看别人代码的时候发现,*.html文件对css的外部引入代码中,在css路径后均加了问号和参数。(如下图)

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

之前从未使用过该方法,一查资料,发现是个不错的小Tips,在这里分享给大家。


正文


“?”后的字符是什么?

“?”后的字符没有什么特殊的含义,仅代表css文件的版本号,用作版本的区分。

版本号的表达方式可以是:

  • 随机数
  • 递增值
  • 大版本、小版本(如:3.1.1)
  • 脚本生成时间(如:20080727182553)

版本号的作用是什么?

做前端的同学肯定经常发现修改了网页的css样式或js文件,刷新后被修改的文件并没有立即生效,这是因为客户端缓存了cssjs,没有去下载我们刚修改的文件。

如果我们在修改cssjs文件后修改版本号,那么客户端浏览器就会重新下载新的jscss文件,避免缓存滞留。

css外部文件引入:

<link rel='stylesheet' href='base.css?2.3.3′ type='text/css' />

js外部文件引入:

<script type="text/javascript" src="php.js?1.2.6"></script>

参考资料

《css或js命名文件为什么加问号带参数?》