我刚刚花了半天时间悄悄地发疯了.
我正在对Site.css文件中的类进行更改,并且它们没有反映在我的计算机上正在开发的站点中.因为我正在通过jQuery学习并使用addClass和removeClass,我正在动态地为这些调用创建参数,我确信问题出在我的实现中.
原来CSS文件缓存在浏览器中,我所要做的就是刷新它...
有没有办法强制刷新(最好只在调试期间我猜)?
zom*_*bat 53
一种流行的"缓存中断"方法是在css源中附加参数.通常使用时间戳.我更喜欢"文件最后修改"时间,即.filemtime()用PHP.我敢肯定有一个asp.net函数会给你这个.
然后你的CSS标签变成:
<link rel="stylesheet" type="text/css" media="screen" href="/main.css?123456789"/>
Run Code Online (Sandbox Code Playgroud)
每当CSS文件更新时,查询参数都会更改.
thi*_*eek 18
按CTRL + F5可以刷新网页上的所有内容,包括脚本和样式表.
此外,您可以从动态服务器页面[php/asp.net]和Response.Expires = -1合并要提供的样式表,这将强制客户端显式加载每个HTTP-GET请求上的css.您也可以在CSS mime类型的Web服务器设置中执行此操作.
Max*_*Max 10
我用这个技巧:
<link rel="stylesheet" type="text/css" href="cssfile.css?t=<%= DateTime.Now.Ticks %>" media="screen" />
Run Code Online (Sandbox Code Playgroud)
对于ASP.NET,后面的代码(您可以将它放在实用程序类或母版页中):
public static string GetTimestampedUrl(string virtualPath)
{
var realPath = HostingEnvironment.MapPath(virtualPath);
var file = new FileInfo(realPath);
return VirtualPathUtility.ToAbsolute(virtualPath) + "?" + file.LastWriteTime.ToFileTime();
}
Run Code Online (Sandbox Code Playgroud)
然后在你的页面中:
<link href="<%= GetTimestampedUrl("~/screen.css") %>" rel="stylesheet" type="text/css" media="screen" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41128 次 |
| 最近记录: |