2012-03-29 68 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仍然緩存了舊字符。