当我们在做项目的时候,引用js或者css是通常会在后面加上时间戳,举例如下:
<link href="/congent/css1?v=@Config.InitTimestamp" type="text/css" rel="stylesheet"/>
v的后面就是引用的时间戳,那么时间有什么作用,该如何定义了?具体如下>>
时间戳的作用
好多Linux + Apache的服务器都会对CSS、JS和图片这些静态的内容设置缓存,到了IE这里又会在本地做一个缓存。所以当我们更新了CSS文件之后,常常会出现客户端没有更新,导致显示出现问题,所以使用了时间戳。总之一句话概括使用时间戳的目的就是:禁止缓存css、js,使浏览器同步更新到服务器端最新的静态内容。
定义时间戳
/// <summary> /// 站点初次加载时间戳 /// </summary> private static string _initTimestamp; public static string InitTimestamp { get { if (string.IsNullOrEmpty(_initTimestamp)) { var start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Local); _initTimestamp = Convert.ToInt64((DateTime.Now - start).TotalSeconds).ToString(); } return _initTimestamp; } }