瀏覽器不可能讓你清除它的快取。如果可能的話,這將是一個巨大的安全問題。這很容易被濫用——一旦瀏覽器支援這種“功能”,我就會把它從我的電腦上卸載。 你能做的就是告訴它不要快取你的頁面,透過發送適當的標題或使用這些元標籤:
<meta http-equiv='cache-control' content='no-cache'> <meta http-equiv='expires' content='0'> <meta http-equiv='pragma' content='no-cache'>
您可能還想考慮關閉表單欄位上的自動完成,儘管恐怕有一種標準方法可以做到這一點(參見這個問題)。 無論如何,我想指出的是,如果您正在處理敏感數據,則應該使用SSL。如果您不使用SSL,任何可以存取網路的人都可以嗅探網路流量,並且輕鬆看到您的用戶看到的內容。 使用SSL也使一些瀏覽器不使用緩存,除非明確告知。看看這個問題。
這是可能的,你可以簡單地使用jQuery替換引用快取狀態的「meta標籤」與事件處理程序/按鈕,然後刷新,很容易。
$('.button').click(function() { $.ajax({ url: "", context: document.body, success: function(s,x){ $('html[manifest=saveappoffline.appcache]').attr('content', ''); $(this).html(s); } }); });
注意:此解決方案依賴於作為HTML 5規範的一部分實現的應用程式緩存,它還需要伺服器配置來設定應用程式快取清單。它沒有描述一種透過客戶端或伺服器端程式碼清除「傳統」瀏覽器快取的方法,這幾乎是不可能做到的。
瀏覽器不可能讓你清除它的快取。如果可能的話,這將是一個巨大的安全問題。這很容易被濫用——一旦瀏覽器支援這種“功能”,我就會把它從我的電腦上卸載。
你能做的就是告訴它不要快取你的頁面,透過發送適當的標題或使用這些元標籤:
您可能還想考慮關閉表單欄位上的自動完成,儘管恐怕有一種標準方法可以做到這一點(參見這個問題)。
無論如何,我想指出的是,如果您正在處理敏感數據,則應該使用SSL。如果您不使用SSL,任何可以存取網路的人都可以嗅探網路流量,並且輕鬆看到您的用戶看到的內容。
使用SSL也使一些瀏覽器不使用緩存,除非明確告知。看看這個問題。
這是可能的,你可以簡單地使用jQuery替換引用快取狀態的「meta標籤」與事件處理程序/按鈕,然後刷新,很容易。
注意:此解決方案依賴於作為HTML 5規範的一部分實現的應用程式緩存,它還需要伺服器配置來設定應用程式快取清單。它沒有描述一種透過客戶端或伺服器端程式碼清除「傳統」瀏覽器快取的方法,這幾乎是不可能做到的。