2013-03-16 60 views
0

我需要將從ASP.NET返回的日期與從JavaScript返回的日期進行同步。所以,我從服務器的隱藏字段中發送日期,然後從JavaScript獲取新的Date()並獲取時間偏移量。只需要近似的時間差。如何獲得不受瀏覽器緩存影響的頁面修改日期?

當頁面第一次加載時,所有工作都很好 - 服務器日期存儲在隱藏字段中,並且值形成JavaScript「匹配」。但是,當我從頁面導航並單擊後退按鈕時,頁面現在來自瀏覽器緩存,所以與JavaScript日期相比,服務器值已過時。

有什麼辦法讓這兩個日期保持一致 - 兩者都取自緩存或兩者都不取自緩存?我想我需要一種客戶端頁面修改日期,如果頁面來自瀏覽器緩存,這不會改變。我嘗試過document.lastModified,但是當頁面來自緩存時會發生變化。

謝謝。

回答

0

爲什麼不把偏移保存在第二個隱藏的輸入中?

頁面加載時,讓JavaScript檢查隱藏的「Offfset」輸入的值,並在其爲空(使用原始隱藏輸入作爲參考)時填充它。如果用戶導航,然後單擊後退,偏移字段仍將包含計算的值,JavaScript不會嘗試更新它。

@ user1044169:好的;我認爲you are correct。最好的建議似乎是將數據保存在cookie中。

+0

不確定這會工作。如果我理解正確,瀏覽器緩存中的內容是從服務器接收的頁面副本,不需要任何DOM操作。所以,如果用戶點擊返回按鈕,隱藏的偏移量字段將是空的,即使它之前有一個值。 – user1044169 2013-03-16 16:52:09

相關問題