2009-11-04 80 views
2

我有一個網站的閃存運行。 IE7將不會重新加載閃存中的變量,swf中閃存設置的變量。當頁面重新加載時。讓我感到困惑的是刷新頁面實際刷新頁面。除非閃存中的變量沒有重置,否則閃存開始如何設置。IE7,頁面刷新不重新加載閃存變量

只有當IE中的「Internet臨時文件」設置設置爲「自動」時纔會發生這種情況。但是,當「每次訪問頁面」時都應該如何進行檢查。

什麼可能導致此?

+0

可能與頁面緩存有關。在頁面上查找緩存標題和到期日期。 – 2009-11-04 20:52:19

回答

0

可能,閃存插入/瀏覽器關係以及它如何使用緩存,請查看此鏈接到論壇主題,希望它會有所幫助。 http://www.ultrashock.com/forums/actionscript/force-reload-files-only-using-as3-123408.html

+1

Flash正在重新加載,但間隔未刷新。看起來像閃光燈和IE的錯誤。特別是當涉及到區間。 – kayem 2009-11-10 00:40:39

+0

不幸的是,在瀏覽器/ flash插件中有一些奇怪的東西,感謝您指出確切的問題:) – GnrlBzik 2009-11-10 16:35:29

+1

應用程序/遊戲在dif mc中同時使用所有給定的唯一名稱中的很多setIntervals。在移除mc之前清除一些間隔(如果在遊戲中被用戶破壞)。如果用戶關閉了遊戲。從父級電影中刪除了遊戲MC。然後點擊播放即:加載一個新的遊戲實例。一些setinterval調用仍在運行。 我用setTimout替換了setinterval,它會調用一個函數來執行所需的操作,最後設置一個newTimeout調用函數。當mcs被刪除時,setimeout不能再運行或再次被調用。 – kayem 2010-01-30 01:50:28

2

Internet Explorer可能會緩存HTML和/或SWF文件。您可以通過重新加載持有ctrl-key的瀏覽器來繞過緩存,但對於更通用的解決方案,您需要告訴瀏覽器不要緩存文件。

對於HTML文件(即文件中嵌入你的SWF),您可以添加以下代碼薈萃:

<meta http-equiv="cache-control" content="no-cache" /> 

對於需要通過改變HTTP頭做服務器端的其他文件。如果你的文件託管在Apache服務器上,那麼你可以使用.htaccess這個文件。您也可以更改PHP腳本的http標頭。

+0

IE中的Ctrl-F5抑制了發送到服務器的If-Modified-Since和If-None-Match報頭,導致無論如何都導致尚未更改的內容被更改。 F5本身仍然會繞過本地緩存。 – AnthonyWJones 2009-11-04 21:08:16

0

我不太瞭解Flash,但是這種事情發生在補充資源異步獲取時。

刷新IE將確保不僅刷新當前文檔,而且確保在刷新文檔的加載期間創建的元素引用的任何資源(JS,BMP,SWF等)。

但是,如果額外的活動計劃在加載後運行(比如說通過Javascript setTimeout)並且這些額外的活動會加載更多的資源,那麼這些資源將不會認爲自己在引用上下文中。因此,如果它們在高速緩存中可緩存並且新鮮,則它們將被交付而不會繞過服務器。

正常情況下,當設置爲「自動」時,如果資源在當前會話中從未獲取,IE將忽略任何新的緩存內容。通過設置「每次訪問該頁面」,都會將此行爲擴展到每個會話的每次訪問(包括刷新)。