如何让页面修改日期不受浏览器缓存的影响?

时间:2013-03-16 12:08:14

标签: javascript html

我需要将从ASP.NET返回的日期与从JavaScript返回的日期同步。因此,我从隐藏字段中的服务器发送日期,然后从JavaScript获取新的Date()并获取时间偏移量。只需要近似时差。

当页面首次加载时,一切正常 - 服务器日期存储在隐藏字段中,值表单JavaScript“匹配”。但是,当我从页面导航然后单击“返回”按钮时,页面现在来自浏览器缓存,因此与JavaScript日期相比,服务器值已过时。

有没有办法让这两个日期保持一致 - 既可以从缓存中获取,也可以两者都不是从缓存中获取的?我想我需要一种客户端页面修改日期,如果页面来自浏览器缓存,则不会改变。我尝试过document.lastModified,但是当页面来自缓存时会发生变化。

谢谢。

1 个答案:

答案 0 :(得分:0)

为什么不在第二个隐藏输入中保存偏移?

当页面加载时,让JavaScript检查隐藏的“Offfset”输入的值,如果它是空的,则填充它(使用原始的隐藏输入作为参考)。如果用户导航然后单击“返回”,则“偏移”字段仍将包含计算值,JavaScript将不会尝试更新它。

@ user1044169:好抓;我想you are correct。最好的建议似乎是将数据保存在cookie中。