在开发时防止缓存javascript和css

时间:2012-06-18 18:45:59

标签: asp.net visual-studio-2010

我目前正在从Visual Studio 2010开发和运行我的网站。该网站在编译时在Google Chrome中启动。

在某个地方,事情正在被缓存。我可以对javascript函数进行更改,但除非我清除chrome中的缓存,否则正在运行旧版本的脚本。

我正在运行带有.net 3.5的Visual Studio 2010和最新版本的Google Chrome。

每次都可以自动加载最新的脚本吗?我真的不想每次保存和编译时都在我的脚本标签上添加一个?参数。每次都要清除缓存已经过时了。

谢谢!

5 个答案:

答案 0 :(得分:8)

打开Chrome开发工具。在右下角有一个齿轮图标。单击它,然后单击“禁用缓存”。

还有一个选项“Dock to right”。尝试一下,也许,你会喜欢它!

答案 1 :(得分:4)

您还可以让服务器将以下标头添加到从服务器发出的请求中:

cache-control:no-store, no-cache, must-revalidate, max-age=0

此外,您可以使用禁用缓存的命令行标志启动chrome。为此,请创建一个新的快捷方式,然后在目标框中键入以下内容,替换为您自己的计算机用户名:

C:\Users\<username here>\AppData\Local\Google\Chrome\Application\chrome.exe --disk-cache-size=1 -media-cache-size=1

标志必须设置为1,因为0是无限制的。数字以字节为单位。

希望这有帮助。

修改:要在没有缓存的情况下重新加载页面一次,请按CTRL+SHIFT+R 应该适用于所有浏览器。

答案 2 :(得分:2)

我使用的简单方法是每次打开chrome时 CTRL - F5 ,或者,您可以在运行应用程序之前终止本地Web服务器:< / p>

enter image description here

请参阅Chrome快捷键列表以获取更多信息:Keyboard Shortcuts。观察 CTRL - F5 以及 SHIFT - F5 将重新加载当前页面,同时忽略缓存的内容。

我通常使用上面的方法而不是一起禁用缓存(来自chrome设置),因为这是我想要取消缓存的本地化案例。所有其他情况(如正常浏览)我宁愿保留缓存。

答案 3 :(得分:0)

您始终可以使用以下参数导入javascript源:

<script type="text/javascript" src="../scripts/scriptFile.js?28361823"></script>

大多数人使用getTimeInMillis()函数来填充请求。这将绕过缓存(通常),您将获得最新的数据。

这也会强制您的用户再次获取javascript,所以要小心。

答案 4 :(得分:0)

如果您想在浏览器中阻止缓存css或javascript文件,请在链接中使用随机版本ID。例如,使用这个:

<link   href=<%="'mystyle.css?version="+ DateTime.Now.ToString("yyyyMMddhhmmss") +"'"%>   rel="stylesheet" type="text/css"/>

其中myStyle.css是样式表文件,而DateTime.Now.ToString(“yyyyMMddhhmmss”)函数用于生成随机不同的版本ID。