2012-03-29 41 views
3

议决 瞒着我,CloudFlare的默认缓存所有的CSS/JS文件4小时。CSS文件发布

场景:

我加到我们的头版:

<span class="test">hullo!</span> 

,这对我们的css文件:

.test { font-size:2.0em; } 

我做了网络部署或全面发布到Azure的跨度显示在首页,但不是样式。由于某种原因,css文件没有得到更新。 FF,IE,Chrome和Safari都可以确认。但是,在一个看似随意的时间之后,css文件会被更新。

即使当我远程访问Azure虚拟机并重新启动应用程序时,样式也不会改变。该应用程序正在运行一个实例,一个角色。没有安装Azure缓存。将查询字符串参数添加到css文件链接没有帮助。看起来像一个缓存问题,但不知道如何解决。

任何想法?

回答

3

“我们使用Cloudflare,它默认设置为缓存所有CSS和JS文件,它每4小时清除一次缓存,导致任意更新,因此,即使我正在向在css文件的结尾处,Cloudflare仍然缓存了旧的“

只是一个快速提示,您应该在对网站上的static content files进行更改时转到CloudFlare开发模式。您可以转到开发模式以绕过缓存:设置 - >开发模式。您还可以选择清除缓存作为附加选项,如果您真的想清除所有内容,我们只会推荐您。

2

看起来它是由您的浏览器缓存的。您可以请尝试导航到您的网站并按Ctrl + F5。

也许你可以使用Fiddler查看是否CSS已经被缓存,或者没有更新,或者一些错误时下载。

+0

它没有被浏览器缓存。Ctrl + F5什么都不做,我已经将它加载到Safari浏览器中,这是我以前从未使用过的浏览器,仍然没有任何改变。我也有一个从未访问过我的网站的人无效。看起来像它的一个Azure问题。 – Brett 2012-03-30 00:38:38

0

我已经处理了这一点,我会告诉你,从我在Chrome的经验,你可以设置 - 禁用开发工具缓存的设置,但是,我已经注意到,除非你有开发者工具窗口中打开时你按Ctrl + F5它不会重新加载缓存。在IE中,开发工具中有一个全局设置,每次都会重新下载所有内容。在Firefox中,开发工具中也有一个设置,要求它下载并不使用缓存。您可以测试这一点,我如何测试这个

的方法之一,是通过运行小提琴手,看它是否确实您的所有文件的完整下载,或者如果它的缓存。

从我所经历的是,这是一个真正的浏览器缓存问题,而不是任何与Azure上。

+0

我仍然不认为它的浏览器缓存问题。我问了一位同事,他以前从未接触过这个网站去看网址。还有......造型不在那里。服务器上的CSS文件显示新的样式类在那里,但范围只是没有拿起它。 – Brett 2012-03-30 20:48:52

+0

在你的同事电脑上,如果你使用Fiddler,它是否显示CSS文件正在下载?你可以通过直接导航来访问CSS文件的URL吗? – Zoltan 2012-04-02 14:19:49

1

此问题已解决。

我们使用的CloudFlare其中有一个默认的设置缓存所有的CSS和JS文件。它每4小时清除一次缓存,导致任意更新。所以,尽管我在css文件的末尾添加了一个新的查询字符串,但Cloudflare仍然缓存了旧字符。