2011-04-20 69 views
3

我遇到了一些Firefox和ie緩存的問題,在我的網站上用戶可以使用表單進行查詢,並且此查詢返回一張圖片,但根據所選的單選按鈕,它會返回一個不同的圖片,它的工作方式就像在Chrome上一樣,但在IE和Firefox中,總是會返回相同的圖像,只有當我重新打開瀏覽器時纔會更改,您能否告訴我一些關於如何製作這項工作?Firefox和IE圖像緩存

感謝大家,我每次發出ajax調用時都會通過放置唯一的url來解決我的問題。

<?php $date = date("H:i:s"); 
echo '<a href="web/WEB-INF/classes/lineChart.php?id='.$date.'" title="Chart" class="chart">'; echo '<img src="web/WEB-INF/classes/lineChart.php?id='.$date.'" alt="">' ?></a> 
+0

你能提供一些你的代碼嗎? – 2011-04-20 05:20:36

回答

2

不確定您正在使用的語言進行編碼,但無論我確信該策略將全面工作。我傳遞查詢字符串中的任意值,例如GUID或日期時間戳。這將強制一個新的負載,因爲該URL將是唯一的。

我使用ASP.NET MVC,然後在我的路由中設置一個可選參數,控制器方法將忽略此參數。然後,我通過JavaScript設置我的網址:

d = new Date(); 
$('.thumbnail').attr('src', $('.thumbnail').attr('src') + d.getTime()); 

我需要的解決方案是獨一無二的,所以這可能是不相似的,你試圖解決什麼。但是,它應該得到重點。

+0

感謝您的支持,這讓我走向了正確的方向。 – 2011-04-20 06:26:21

0

做私人瀏覽在Firefox中看到,如果圖像是變化成功和問題是與高速緩存存儲器或指定一個唯一的可能是解決方案的代碼

+0

使用隱私瀏覽沒有任何好處。 – 2011-04-20 05:40:06

+0

意味着問題是代碼不是瀏覽器 – 2011-04-20 05:41:35

+0

,但與鉻它的作品。我認爲,因爲這些文件具有相同的名稱,所以瀏覽器仍然認爲它們是相同的內容。 – 2011-04-20 05:48:45

0

,但你必須注意的字符串的長度可以保持現在,您可以在代碼開始時使用此選項

$.ajaxSetup({ cache: false }); 

這將禁用緩存。