2011-08-10 44 views
0

我遇到了問題,我的網站上的頁面,基本上你選擇了幾個選項,然後提交更改數據庫和頁面刷新並顯示更新的更改,但如果我點擊在IE8頂部的URL選項卡上,然後按下鍵盤上的ENTER鍵,頁面會恢復到所做的更改之前。它讓我非常困惑,但是如果我用刷新按鈕再次刷新頁面,那麼我做出的更改又回來了。IE恢復到更改

爲什麼會發生這種情況的任何幫助將是偉大的?

我在我的網頁上使用PHP和Javascript。

問候 阿利斯泰爾

回答

2

的URL是否有內它的變量?如果不是IE正在使用caching

當您訪問任何現代瀏覽器中的網站時,它將存儲它自己的該網頁的本地副本。然後,當您轉到頂部的URL選項卡並再次按回車時,瀏覽器意識到它具有自己的本地副本,並選擇向您顯示此內容。

這可以提高您在互聯網上訪問的每個頁面的響應度,但是當您刷新頁面時,它會檢查服務器的HTTP標頭,如果它已更改(它有),它將顯示新版本的頁面。

您需要防止緩存,這樣做在PHP中只需添加以下內容:

// Disable caching of the current document: 
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');// Date in the past 
header('Pragma: no-cache'); 

,或者你甚至可以使用META tags

請注意,無論您做什麼,這些只是瀏覽器可以隨意忽略的請求。您無法控制客戶端的瀏覽器,儘管大部分都會遵守。

+0

我有我的網頁內的變​​量... PHP變量和JavaScript變量,但不是在實際的網址。所以如果它是緩存,有沒有辦法繞過這個?因爲訪問我的網站的用戶我寧願他們沒有這個問題!?非常感謝m.edmondson。 – Ali

+0

好吧,只是爲了檢查我回答正確的問題,你可以發佈問題發生時地址欄中的URL嗎? –

+0

你認爲這是一個緩存問題嗎?希望有一個方法! – Ali