2010-10-06 21 views
1

我做了一個Flash並將其嵌入到網頁中。在我將Flash上​​傳到服務器後,我使用瀏覽器測試閃存,並按F5刷新瀏覽器,瀏覽器仍然使用舊的瀏覽器,但我無法強制瀏覽器使用新的閃存swf文件!ie/firefox和flash:什麼是刷新算法

我該如何告訴瀏覽器使用新的swf?

+0

btw我可以刷新後,我刪除所有的臨時文件... – 2010-10-06 09:12:10

回答

2

嘗試向SWF的URL添加一個隨機(並且無意義)的查詢字符串。這樣,瀏覽器認爲這是一個新文件,並將從服務器再次下載。

+0

這將使其下載每次?如果我沒有進行修改,我不希望用戶下載它。 – 2010-10-06 09:58:48

+0

只需在文件更改時更改該變量,或更新文件名的版本,並在更新Flash資產時更改該變量... – pharalia 2010-10-06 10:01:02

+0

@pharalia - 完全...查詢字符串上的版本號應確保文件被緩存,直到它變化。 – 2010-10-06 15:08:15

0

另一種選擇是刪除瀏覽器緩存,如果您不想在每次修改時重命名文件。

+1

我的用戶如何? – 2010-10-06 09:57:50

+0

這個問題稍微誤導了它現在的措辭,關鍵是如何爲其他用戶做這件事,而不僅僅是你自己。 – 2011-07-20 12:33:48

2

如果你隨機的查詢字符串追加到JavaScript的SWF文件,如添建議,下面的事情會發生:

  • SWF就會被加載從服務器每次(沒有緩存的話)
  • 瀏覽器緩存將填充您的swf副本(每個請求後一個,如果瀏覽器不夠聰明,無法比較文件內容)

我認爲最好將版本附加到swf並更新它(如name1.0 .swf,name1.1.swf等)。

-1

對於Firefox,您可以使用FireBug來禁用瀏覽器緩存。

+0

您不需要FireBug來禁用緩存。你不能在喜好中直接做。請記住,FireBug _應該被用作開發工具,最終問題的關鍵是弄清楚如何讓其他用戶的瀏覽器加載新的SWF文件。 – 2011-07-20 12:32:45

+0

我的意思是說,如果將存儲設置爲0 MB,則可以_can_,不能禁用Firefox首選項中的緩存。 – 2011-07-20 13:07:59