2017-04-12 62 views
0

我有一個動態更新的HTML頁面通過名爲'home.html' jQuery(ajax)。在頁面上的這個動態更新之後,我會進入下一頁,名爲'takeexam.html'。但是當我回到takeexam,動態更新的HTML不存在,我只看到頁面加載期間生成的HTML。但是當我使用mozilla或IE進行檢查時,這個動態更新在後退按鈕上可用。 Chrome中的問題是什麼?我如何解決這個問題?如何請求後退按鈕 - 鉻

動態更新 - 我想補充一些HTML到DOM,使用jQuery

據我已經注意到了服務器,Internet Explorer和Mozilla向服務器的請求,並服務於後面的頁面從Ajax響應檢查按鈕,但chrome不會向後退按鈕上的服務器發出請求,問題也是如此。

解決此問題的最佳方法是什麼?如何讓所有瀏覽器在點擊後退按鈕時向服務器發出請求?或者有沒有更好的方法來做到這一點?

僅供參考 - Preserve dynamically changed HTML on back button - 我已經看過這個,我不能夠理解這個線程

回答

0

經過幾個小時的學習,問題是因爲在鉻中緩存。我已經設置了HTTP標頭Cache-Control:max-age = 0,no-cache,no-store,must-revalidate

這使得頁面不緩存,當我們再次請求這個頁面時,瀏覽器沒有緩存,所以它再次向服務器發送請求。

但我仍然無法理解IE和Mozilla如何在沒有明確設置HTTP標頭的情況下工作。

1

不知道什麼樣的動態更新HTML你正在談論(例如,新的組件,風格的變化等。。 )我們不能指導一個特定的答案。

我可以說,如果狀態很重要,可以使用隱藏文本字段,Cookie或/和localstorage。並且基於localstorage動態地將頁面重新生成它以前的配置。